von beule |
danke für die hilfe hab es jetzt mit mysql_fetch:object gelöst, das problem war das ich die variable $porto zwei mal gebraucht habe und somit immer wieder überschrieben habe =P |
von chip |
subjective schrieb am 31.05.2005 15:50
Statt mysql_fetch_array sollte man direkt mysql_fetch_assoc nutzen, da so nicht alle Felder doppelt im Ergebnis-Array landen. |
Jep, danke für die Verbesserung. subjective hat eindeutig recht.  |
von subjective |
Statt mysql_fetch_array sollte man direkt mysql_fetch_assoc nutzen, da so nicht alle Felder doppelt im Ergebnis-Array landen. |
von chip |
Hi,
probiers mal so:
1:
2:
3:
4:
5:
6:
7: | <select name="Porto" class="Auswahl">
<? while($row = mysql_fetch_array($porto)) {
if($row['id'] == $lan_porto){echo"<option value=".$row['id']." name=".$row['text']." selected > ".$text." ".$porto."</option>";}
else{echo"<option value=".$row['id']." name=".$row['text'].">".$row['text']." ".$row['porto']."</option>";}
}
?>
</select> |
Wenn die Variablen Namen haben sollen, kannst du dir das list() sparen und stattdessen ein assoziatives Array nehmen. Dann kannst du auf die Spalten mit den Array-Indizes zugreifen. |
von beule |
hey all
also mein problem ist dass meine while schleiffe nur 1 mal ausgeführt wirt.
1: | $porto = mysql_query("SELECT * FROM portoklasse"); |
hier lese ich die daten aus der db... mit mysql_num_row gibt er dann, dass es 3 datensätze sind. sind es auch. soweit alles gut.
1:
2:
3:
4:
5:
6:
7:
8: | <select name="Porto" class="Auswahl">
<? while(list($id, $porto, $text) = mysql_fetch_row($porto)){
if($id == "$lan_porto"){echo"<option value='$id' name='$text' selected > $text $porto </option>";}
else{echo"<option value='$id' name='$text' >$text $porto</option>";}
}
?>
</select>
|
hier gibt er jetzt aber nur den ersten datensatz aus der db an, anstelle von allen dreien. ich habe absolut keinen plan wieso, vorallem da es bei anderen dropdown feldern funktioniert hat, genau das der gleiche code.
.
hat jeman ne idee was ich hier falsch gemacht habe?
danke
beule |
|