Ergebnis einer SELECT abfrage, mehrmals auf der Seite ausgeben
Norman
- php
0 ChrisB
Also ich gebe eine kurze Tabelle aus, das mache ich so:
$sql = "select name from table ";
$result = mysql_query($sql);
while ($out = mysql_fetch_object($result))
{
echo $out->name.'<br/>';
}
Aber ich brqauche diesen Inhalt auf der Seite noch öfters. Ich kann also jedesmal die Datenbankanfragen. Ich denke aber da ich ja immer dern gleichen Inhalt habe, müsste einmal abfragen genügen.
Also habe ich versucht einach nochmal versucht mein $result nochmal auszugaben,
while ($out = mysql_fetch_object($result))
{
echo $out->name.'<br/>';
}
aber das ist dann leer (glaube ich zumindest)
Wie kann ich es mache, das ich nur einmal die Datenbankabfrage mache, und dann das Ergebnis öfters auf der Seite anzeige.
Norman
Hi,
Also habe ich versucht einach nochmal versucht mein $result nochmal auszugaben,
while ($out = mysql_fetch_object($result)) /* … */
aber das ist dann leer (glaube ich zumindest)
Es ist nicht “leer”, aber der Zeiger auf den aktuellen Datensatz steht hinter dem letzten Datensatz, und damit liefert mysql_fetch_object schlicht und einfach false zurück. (Das ist notwendig, sonst wäre nämlich deine erste Schleife ja gar nicht beendet worden.)
Wie kann ich es mache, das ich nur einmal die Datenbankabfrage mache, und dann das Ergebnis öfters auf der Seite anzeige.
Entweder speicherst du die Daten in ein Array, und durchläufst dieses dann beliebig oft; oder du setzt den Datensatz-Zeiger zurück.
MfG ChrisB