array in while Schleife hoch zählen

Andre267

Erfahrenes Mitglied
Schönen guten Tag,

ich versuche gerade über meine Datenbank mir Werte ausgeben zu lassen und diese dann in ein array zu speichern welches nach jedem durchgang hoch gezählt wird.

PHP:
<?php
//...
$i = 0;
while($row =  mysql_fetch_array($res))
{
	$i++;
    $speicher[$i] = $row[1]."<br />\n";
}
echo $speicher[1];
//...
?>

Zurzeit habe ich aber leider damit nicht viel Erfolg.
Könnte mir villeicht jemand helfen?
Danke sehr. :)
 
Aber genau das tust du doch :D
probier mal:
PHP:
<?php
//...
$i = 0;
while($row =  mysql_fetch_array($res))
{
    $i++;
    $speicher[$i] = $row[1]."<br />\n";
}
var_dump($speicher);
//...
?>

var_dump() zeigt dir an was in der Variable steckt.

Wenn $speicher leer ist stimmt was mit deinem mysql Result nicht. Kannst du dir auch mal mit var_dump($res); ausgeben lassen.
 
Lass den Zähler einfach weg. PHP macht dass dann automatisch
PHP:
while($row =  mysql_fetch_array($res))
{
    $speicher[] = $row[1]."<br />\n";
}
Wenn die Klammern leer sind $speicher[] nimmt PHP automatisch den näschst höheren Index. Wenn es bissher ein leerer Array war, dann wird 0 genommen.

Am besten initialisierst du vorher den Array noch. Sonst kann es vorkommen, dass wenn nix aus der DB kommt, der Array nie initialisiert wird und somit später $speicher nicht als Array anerkannt wird. Die Zweite Nebenwirkung vom initialiseren ist, dass der Array zurückgesetzt werd, falls er vorher schon verwendet wurde
PHP:
$speicher = array();
while($row =  mysql_fetch_array($res))
{
    $speicher[] = $row[1]."<br />\n";
}
 
Zurück