Array aus Datenbank erstellen
Rainer
- php
Hallo,
folgender Code gibt als Fehlermeldung "Warning: array_push() [function.array-push]: First argument should be an array in C:\xampplite\htdocs\www.test.com\index.php on line 86" aus.
first Argument = $Modell? Aber genau dieses leere Array will ich mit den Daten befüllen.
<CODE>
$sql = "SELECT ID FROM modell";
$res = mysql_query($sql);
$Modell = array(); //leeres Array anlegen
while($z = mysql_fetch_row($res)): //Schleife um Array zu füllen
$Modell = array_push($Modell,"$z[0]"); //Zeile 86!!
endwhile; //Schleifenende
print_r($Modell);
</CODE>
Ich möchte von den Daten aus der Datenbank(Mysql 3.23) ein Array mit den ID's der Datensätze bilden. Es müsste also bei print_r
Modell([0] => 1 [1] => 2)..... ergeben. Wo ist der Fehler? Oder geht das auch ganz anders z.Bsp. direkt mit einem Select aus der DB?
Gruß Rainer
Hallo Rainer,
$Modell = array_push($Modell,"$z[0]"); //Zeile 86!!
Schau dir nochmal die Doku zu array_push() an, was die bezüglich des Rückgabewertes meint - du bekommst nämlich nicht das geänderte Array zurück, sondern die Anzahl der Elemente des Arrays. Und wenn du schonmal in der Zeile bist, kannst du gleich noch die Anführungszeichen um $z[0] entfernen - für was sollen die gut sein?
Grüße aus Nürnberg
Tobias
Danke,
<CODE>
array_push($User,$z[0]);
</CODE>
macht genau was ich will.
Gruß Rainer
echo $begrüßung;
array_push($User,$z[0]);
macht genau was ich will.
Wenn du die Dokumentation aufmerksam gelesen hättest, würdest du beim Anhängen eines einzelnen Wertes an ein Array statt obigem Code das üblichere, schnellere (unnötiger Funktionsaufruf fällt weg) und einfachere
$User[] = $z[0];
verwenden.
echo "$verabschiedung $name";