Abfangen aller Elemente von der mysql_fetch_array($var, MYSQL_ASSOC))

sharmuur

Mitglied
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.

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:
Versuch es mal so:
PHP:
<?php
$sql    = 'SELECT `feld1`, `feld2` FROM `tabelle 1`';
$result = mysql_query($sql);

$i = 1;

while(list($feld1, $feld2) = mysql_fetch_assoc($result)) {
    $feld1_feld2[$i++] = array('feld1' => $feld1, 'feld2' => $feld2);
}
?>
 
Hallo ,

Ich habe meinen Code entsprechend geändert, aber ich tu es mir gerade schwer
die Felder von dem array $feld1_feld2[$i++] in die Auswahliste zu geben.
Mit unteren code bekomme ich zwar ein Auswahlliste, die aber leer ist. Woran könnte es liegen?

danke

PHP:
$parameter_zwischen_array[$i++]=array('feld1' => $feld1, 'feld2t' => $feld2);  
 
#Hier habe ich versucht die felder durch "." verbinden und 
#als String in der Array	 $feld1_feld2[$i++]  zu speichern
$feld1_feld2[$i++] =$parameter_zwischen_array['feld1'] . $parameter_zwischen_array['feld2];
 
Anstelle von
$parameter_zwischen_array['feld1']
solltest du
$parameter_zwischen_array[$i]['feld1']
verwenden

Ansonsten mach mal ein var_dump() auf $parameter_zwischen_array und schau dir mal an wie dieser aufgebaut ist....
 
Zurück