Hallo,
gehen wir von folgender einfacher Anweisung aus:
$query = mysql_query('SELECT * FROM tabelle');
$result = mysql_fetch_array($query);
Ich möchte anschließend KEINE (While)Schleife benutzen, sondern einfach mit einem assoziativen Array weiterarbeiten:
[result][0] = ergebnis1
[result][1] = ergebnis2
Wie komme ich am einfachsten/schnellsten an ein assoziativen Array? (ohne über eine WHILE Schleife gehen zu müssen?)
Grüße vom Griechen,
Cybergreek!
everygain Translator - eine Firefox-Erweiterung, damit der Grieche Euch besser versteht
PDO kann fetch_all, aber im Kontext von mysql_* ich seh jetzt keinen Nutzen darin auf die Schleife verzichten zu wollen. Entweder ist das einfach nur eine Zeile (unter 80 Zeichen, was ist denn *noch* einfacher?), oder man kapselt das in eine Funktion, oder eleganter in ein Objekt, dass dann auch gleich die nötigen *escape_string-Funktionen bereitstellt und/oder mit Prepared Statements arbeitet.
Danke für den Tipp. Warum ist die fetch_array Abfrage eingentlich so umständlich? fetch_array muss mehrmals aufgerufen werden, damit result eine Zeile weiter springt.
Ich hatte gehofft, dass eine fetch_array Abfrage ausreicht, um alle Datensätze in ein asso. Array zu bekommen:
Eine Abfrage .... $result = mysql_fetch_array($query);
erzeugt sofort das assoz. Array:
$result[0] = Zeile 1
$result[1] = Zeile 2
Nein, ist einfach nicht so. Bau dir eine Schleife (10 Sekunden), eine eigene Funktion (20 Sekunden), nutze MySQLi oder PDO, bau dir die Funktion in PHP ein und kompilier das selbst oder wechsel die Sprache. Aber insgesamt wurde hier schon 10 mal mehr Text geschrieben als für die Lösung notwendig, steht auch ganz klar im Manual.
Aktive Benutzer in diesem Thema: 1 (Registrierte Benutzer: 0, Gäste: 1)