An vielen Orten findet man in LoGD folgendes Konstrukt:
Code:
for($i = 0; $i < db_num_rows($result); $i++) {
$row = db_fetch_assoc($result);
#[...]
}
Was ich hier bemängeln möchte, ist der Funktionsaufruf in der Forschleife.
Bei kleinen Datensätzen macht es auch nicht viel aus. Doch holt man so einen Datensatz mit vielen Zeilen, so rechnet sich das hoch: Bei 2000 Datensätzen wird 1999 mal die Funktion db_num_rows() unnützigerweise aufgerufen, da sich die Anzahl der Datensätze nicht ändern wird. Deshalb ist es besser, und ressourcenschonender, wenn man den Maximalwert schon vorher definiert:
Code:
$max = db_num_rows($result);
for($i = 0; $i < $max; $i++) {
$row = db_fetch_assoc($result);
#[...]
}
Somit ruft man die Funktion noch genau 1x auf und damit hat es sich. Das gilt übrigens für jede Art Funktionsaufruf in den for-Schleifen, inklusive count() und so.