Sven Rautenberg: Result resource resetten

Beitrag lesen

Moin!

for ($i = 0; $i < $num ; $i++)
{
$row = mysql_fetch_array($result);
echo "<option value="$row[m_id]">$row[punkt]</option>";
}

Das geht ganz einfach, du kannst ja die Werte der SQL-Abfrage in einem (notfalls auch mehrdimensionalen) Array speichern . Auf dieses Array kannst du jederzeit dann im ganzen Modul zugreifen.

Ein reset ist demnach überflüssig.

Die MySQL-Abfrage wird von PHP gepuffert - deshalb gibts sowohl mysql_unbuffered_query() als auch mysql_free_result().

Aus demselben Grund gibts mysql_data_seek(), um im gepufferten Ergebnis den Lesezeiger, der von mysql_fetch_array() bei jedem Aufruf weiter nach hinten gesetzt wird, wieder an den Anfang oder sonstwohin zu platzieren.

Ein Array ist demnach überflüssig, sondern kostet im Gegenteil nur doppelten Speicher.

- Sven Rautenberg

--
"Beim Stuff für's Web gibts kein Material, was sonst das Zeugs ist, aus dem die Sachen sind."
(fastix®, 13. Oktober 2003, 02:26 Uhr -> </archiv/2003/10/60137/#m338340>)