Hallo,
ich versuche die alle Array-Elemente, die mit mysql_fetch_array($erg, MYSQL_ASSOC)) geliefert werden, mit print in einer Auswahlliste auszugeben. In meinem jetztigen Programm-Code erhalte ich leider nur das erste Element. Hat jemand ne Idee, wie ich das Problem lösen könnte.
voraus danke
Ich habe hier den Programm-Code geschrieben, damit man nachvolziehen kann, was ich meine.
ich versuche die alle Array-Elemente, die mit mysql_fetch_array($erg, MYSQL_ASSOC)) geliefert werden, mit print in einer Auswahlliste auszugeben. In meinem jetztigen Programm-Code erhalte ich leider nur das erste Element. Hat jemand ne Idee, wie ich das Problem lösen könnte.
voraus danke
Ich habe hier den Programm-Code geschrieben, damit man nachvolziehen kann, was ich meine.
PHP:
#sql anfrage, die die felder feld1 und feld2 von der DB selectieren soll
$abfrage="select feld1, feld2 from tabelle 1";
#hier wird die sql abfrage in die DB geschickt
$erg=mysql_query($abfrage);
$anzahl=1;
#das Ergebnis der sql-Anfrage wird in der array- variable $feld1_feld2[$anzahl] datensatzweiser
# gespeichert und die while schleife läuft so lange durch, bis kein Datensatz mehr vorhanden ist
while (list($feld1_feld2[$anzahl])=mysql_fetch_array($erg, MYSQL_ASSOC))
{
$anzahl++;
}
$anzahl--;
PHP:
#hier wird die auswahlliste "array_feld" definiert
<select name="array_feld" onChange="this.form.submit()">
ENDE;
if(empty($_POST['array_feld']))
{
print <<<ENDE
<option value=0 selected=selected>Feld wählen!</option>
ENDE;
}
#hier wird die Inhalte der variable $feld1_feld2 in die Auswahlliste geschrieben.
#An der Stelle versuche ich die beiden felder auszugeben
for($i=1;$i<=$anzahl;$i++)
{
print "<option value=\"" . $feld1_feld2[$i]."\"";
if($feld1_feld2[$i]==$_POST['array_feld'])
{
print "selected=selected";
}
print ">" . $feld1_feld2[$i] . "</option>";
}
print <<<ENDE
</select>
Zuletzt bearbeitet: