2D array ... prob

hosh

hosh

Aktives Mitglied
Thread Starter
Dabei seit
08.07.2003
Beiträge
426
Reaktionspunkte
5
guten morgen..

ich hab seit gestern ein problem. ich will aus einer funktion ein 2D array übergeben, aber dass ding will nicht wie ich will.
die daten kommen aus einer sql abfrage.
hier ein bisschen code:
PHP:
$output[0][0]="0";
$anzahl=1;
while($row = mysql_fetch_row($query))
    {
		$output[$anzahl][1]=$row[1];
		$output[$anzahl][2]=$row[2];
		$output[$anzahl][6]=$row[6];
		$output[$anzahl][7]=$row[7];
		$anzahl++;
     }
mysql_free_result($query);
$output[0][0]=$anzahl;
wie man sehen kann ist die zweite dimension statisch nur die erste wird größer
hat jemand ne idee..

dank und gruß
 
Zuletzt bearbeitet:
Was ist denn das Problem?
Egal wie viele Dimensionen ein Array hat, Du kannst es genau wie jede andere Variable/Objekt an eine Funktion übergeben oder zurückliefern.
 
das problem ist, es liefert lediglich das hier zurück


Array ( [0] => Array ( [0] => 0 ) )

stimmt ja auch
PHP:
$output[0][0]="0";

aber da sollte ja mehr drin stehen...!


die sql anweisung funktioniert.. ich hatte gedacht, in dem was ich da gebaut habe ist ein fehler...
 
Ich sehe da jetzt nichts falsches. Ein wenig optimieren könnte man das noch.
Code:
while($row = mysql_fetch_row($query)) {
   $output[$anzahl++] = $row;
}
Aber das bringt ja auch nichts wenn es generell nicht funktioniert.

Was mir aber gerade auffällt ist eine zumindest irritierende Variablenbenennung. Oder ich habe den Fehler gefunden. Was beinhaltet $query? Sollte es wirklich Dein SQL-Query sein, kann das nicht funktionieren. fetch_row erwartet ein Result von z.B. mysql_query()

Edit: Was mich noch irritiert ist dass $output[0][0] den Wert 0 enthält. Sollte eigentlich mindestens 1 sein, denn ob die Schleife durchlaufen wird oder nicht, $anzahl ist > 0. Die erste Zeile ist somit auch überflüssig.
 
Im Zweifelsfall
PHP:
print mysql_error();
 
Zurück
Oben Unten