hi,
Habe in meiner Suchroutine eine Query und lese die Werte mit "mysql_fetch_assoc" in ein Array ein. Leider kann ich die darin enthaltenen Spalten später nicht über den Index (Key) ansprechen.
was heisst hier "später" in diesem zusammenhang?
klappt es schon in der while-schleife nicht, oder erst nachher bei dem echo nach der while-schleife?
Was habe ich falsch gemacht?
ich bin mir nicht ganz sicher, aber ich denke mit
While ($AlleDtNamen_array = mysql_fetch_assoc($res_DtNamen))
erzeugst du eben _kein_ array, sondern belegst nur die variable $AlleDtNamen_array jedesmal _neu_ mit dem wert der aktuellen zeile aus dem mysql-ergebnis.
Bzw. wie kann ich den Code ändern, daß ich später über den Index auf die rows zugreifen kann?
ich denke, dazu müsstest du
While ($AlleDtNamen_array[] = mysql_fetch_assoc($res_DtNamen))
verwenden, damit weiss php, dass es die neuen wert jeweils als neue array-elemente hinzufügen soll.
anmerkung: ich rede hier jetzt übrigens von der ersten dimension des arrays, nicht der zweiten. die zweite wäre dann die mit den tabellen-spaltennamen als index ["name_dt"].
du müsstest dann allerdings auch das ansprechen des arrays innerhalb der while-schleife anpassen, so dass du den index der ersten dimension noch dazu nimmst.
oder aber, du speicherst das ergebnis von mysql_fetch_assoc() innerhalb der while-bedingung zunächst in einer weiteren temporären variablen,
While ($AlleDtNamen_temp = mysql_fetch_assoc($res_DtNamen))
und erzeugst innerhalb der while-schleife dann jeweils eine neue zeile deines arrays,
$AlleDtNamen_array[] = $AlleDtNamen_temp;
und alle weiteren zugriffe auf $AlleDtNamen_array _innerhalb_ der while-schleife werden durch zugriffe auf $AlleDtNamen_temp ersetzt.
_nach_ der while-schleife müsstest du dann in $AlleDtNamen_array[] ein wirkliches array zur verfügung haben.
gruss,
wahsaga