Dropdown liest nicht alle Namen aus

05/08/2013 00:33 TiehJay#1
Nabend Community,

ich hab' da 'n kleineres Problem mit meinem kleinen Projekt. Und zwar, es soll aus der Datenbank alles rausholen aus antwort mit dem jetzt angemeldeten Lehrer. Diese Werte soll er dann im Nachhinein sortiert (in diesem Fall einfach nicht doppelt vorkommend) ausgeben.
Soweit so gut. Er macht es soweit auch, jedoch zeigt er nur den Namen von einem an und die anderen haben einfach kein Namen (siehe Bild). Weiß' einer, was ich da falsch gemacht habe ? :O

[Only registered and activated users can see links. Click Here To Register...]


PHP Code:
$query = mysql_query("SELECT `klasse` FROM `antwort` WHERE `lehrer` = '".$lehrer."'");
$zeilen = mysql_num_rows($query);
while(
$data = mysql_fetch_assoc($query)){
    
$klasse[]=$data['klasse'];
}
$klasse=array_unique($klasse);
$num = count($klasse);
for(
$i=0;$i<$num;$i++){
    echo 
"<option>".$klasse[$i]."</option>";
} 
05/08/2013 09:19 マルコ#2
Hmmm.
Sieht auf den ersten Blick richtig aus. Wie sieht die Tabelle denn aus?

BTW, warum benutzt du nicht die DB für deine Operationen?
Code:
'SELECT DISTINCT `klasse` FROM `antwort` WHERE `lehrer` = \'' . $lehrer . '\' GROUP BY `klasse`;'
Und statt immer zu fragen, wie viele Elemente drin sind, könnte ma auch die foreach Schleife benutzen (was _hinfällig_ ist, aufgrund der von mir genannten SQL Query):
Code:
foreach($c in $klasse)
  echo '<option>' . $c . '</option>';
05/08/2013 14:26 TiehJay#3
Quote:
Originally Posted by マルコ View Post
Hmmm.
Sieht auf den ersten Blick richtig aus. Wie sieht die Tabelle denn aus?

BTW, warum benutzt du nicht die DB für deine Operationen?
Code:
'SELECT DISTINCT `klasse` FROM `antwort` WHERE `lehrer` = \'' . $lehrer . '\' GROUP BY `klasse`;'
Und statt immer zu fragen, wie viele Elemente drin sind, könnte ma auch die foreach Schleife benutzen (was _hinfällig_ ist, aufgrund der von mir genannten SQL Query):
Code:
foreach($c in $klasse)
      echo '<option>' . $c . '</option>';

So, hatte es nun mit Hilfe eines Kollegen heute Nacht noch hinbekommen. Das, was ich geschrieben habe, war soweit richtig, allerdings war die Ausgabe. Haben das dann, wie du vorgeschlagen hast, mit der foreach-Schleife gemacht und tada, er hat alle Namen angezeigt. :>

PHP Code:
    foreach($klasse as $value){
echo 
"<option>".$value."</option>";