• Das Erstellen neuer Accounts wurde ausgesetzt. Bei berechtigtem Interesse bitte Kontaktaufnahme über die üblichen Wege. Beste Grüße der Admin

[FRAGE] array füllen

jhaustein

New member
hallo gemeinschaft

habe folgendes problem - ich möchte gerne ein Mehrfachauswahlbox aus einer datenbank füllen lassen

wenn diese selectbox dann beim start der seite gefüllt wurde, dann möchte ich mehrere listenpunkte auswählen können, damit die danach wieder in einarray geschrieben werden

das array muss so aussehen
HTML:
  staffList[0] = new Array();
  staffList[0]["surname"] = "Piet"; 
  staffList[0]["id_staff"] = "9"; 
  staffList[0]["is_present"] = "true"; 

 
  staffList[1] = new Array();
  staffList[1]["surname"] = "Inga"; 
  staffList[1]["id_staff"] = "10"; 
  staffList[1]["is_present"] = "true";

diese variablen
["surname"]
["id_staff"]
["is_present"]
kommen aus der mysql tabelle

die mehrfachbox bekomme ich hin - nur bekomme ich es nicht hin dieses array daraus zu erstellen

kann mir dabei bitte einer helfen

lg und schöne weihanchtstage
jöerg
 
kannst du mir das bitte erklären - ich weiss nicht, wie ich es machen soll

lg joerg
 
Zuletzt bearbeitet:
Nehmen wir mal an, du hast sowas in der Art:

Code:
var array = [];
for (var i=0; i<5; i++) {
  array[i] = [];
  array[i]["name"] = "Theo";
  array[i]["tag"] = "Freitag";
}

Du erstellst also zuerst einmal ein ganz normales Array (array). Diesem Array gibst du an der Position 0 (im ersten Durchlauf) ein weiteres Array mit. In dem zweiten Array kannst du dann die einzelnen Felder befüllen. Im meinem kleinen Beispiel sind das dann "name" und "tag". Soweit verständlich?
 
Ich hab dir mal zur Verdeutlichung ein Fiddle erstellt: Edit fiddle - JSFiddle Ich hoffe damit wird es etwas klarer.

Ich habe das mal mit JQuery umgesetzt, weil dies am schnellsten geht. Das ganze kannst du natürlich auch mit Plain-JS lösen.
 
Zuletzt bearbeitet:
mist - ich bekomme es nicht hin so ein array zu bekommen mit den zwei variablen aus der multilistbox

["surname"]
["id_staff"]

- - - Aktualisiert - - -

so sieht es bei mir aus

PHP:
<?php
//conection:
$link = mysqli_connect("localhost","root","","ts") or die("Error " . mysqli_error($link));

//consultation:

$query = "SELECT surname, id_staff FROM staff" or die("Error in the consult.." . mysqli_error($link));

//execute the query.

$result = $link->query($query);

//display information:
echo "<select multiple>";
while($row = mysqli_fetch_array($result)) {
  echo "<option>".$row["surname"].$row["id_staff"]."</option>";
 
} 
echo "</select>";
?>

und hier muss ich es reinbekommen
HTML:
 var staffList = new Array();
                staffList = getStaffList();


               for (var i in staffList){
                    if(staffList[i]['is_present'] !== "true" ){
                        continue;
                    }
					
                    var th_element = document.createElement('th');
                    th_element.class="day";
                    th_element.style="min-width: 50px; max-width: 60px;"
                    th_element.innerHTML=staffList[i]['surname'];
                    th_element.value=Date.parse(date) + '_' + staffList[i]['id_staff'];
 
Zuletzt bearbeitet von einem Moderator:
"getStaffList()" gibt eine Liste der ausgewählten Werte zurück, korrekt? - Wie sieht diese denn aus? (Am besten auch hier mal die komplette Funktion posten)

Der JS Teil scheint mir abgeschnitten zu sein, kannst du mal bitte den kompletten (relevanten) JS Code posten.


Was schon mal fehlt, ist die zweite Array Instanziierung. Schreibt mal vor das If-Statement noch die Zeile:
Code:
staffList[i] = new Array();
// bzw schöner ist es so:
staffList[i] = [];
 
Zurück
Oben