Hej Magnus,
Jeg tror du har misforstået hvad et par af funktionerne / det fatale i PHP gør, så det vil jeg lige forklare...
mysql_fetch_assoc er en funktion som returnerer den nuværende række i din sql tabel som et associativt array. Dvs. første gang du kalder den (på returværdien fra en mysql_query) får du række 1, næste gang række 2, så række 3 osv. Indtil der ikke er flere rækker her vil der så blive returneret false.
at skrive $var[] = $foo; tildeler $foo til det sidste element i arrayet $var. Dvs. hvis $var ser således ud inden dette statement:
$var = array(1, 5, 2);
Så vil:
$var[] = 4;
Nu få $var til at se såeldes ud:
$var = array(1, 5, 2, 4);
Så det der sker i din kode er at du henter den første række ud og tildeler den som sidste værdi i et nyt oprettet array (og derfor også første og eneste værdi).
Hvis dit array skal fyldes op med alle rækker, prøv da med følgende:
- $sqle = "SELECT username FROM main";
- $querye = mysql_query($sqle);
- $user_liste = array();
- while($rowe = mysql_fetch_assoc($querye)){
- $user_liste[] = $rowe;
- }
- echo '<select name="users">';
- foreach($user_liste as $rowe):
- echo '<option value="' . $rowe['username'] . '">' . $rowe['username'] . '</option>';
- endforeach;
- echo "</select>";
Indlæg senest redigeret d. 18.10.2009 03:21 af Bruger #714