for-Schelife funktioniert nicht!?
Philipp
- php
Hallo,
hab eine for-Schleife, die alte Einträge aus einer Datenbank löschen soll. Leider wird nicht die Differenz gelöscht sondern alle (!) Einträge.
# Schleife soll von 1 bis zur Differenz (z.B. 3) laufen
for($i = 1; $i >= $difference; $i++)
{
# Ersten Eintrag mit Hilfe der id finden
$min_query = mysql_query("SELECT MIN(id) FROM $db_table");
$min_result = mysql_result($min_query, 0);
# Lösche ersten Eintrag
$delete_query = mysql_query("DELETE FROM $db_table WHERE id = $min_result");
}
Huhu Philipp
# Schleife soll von 1 bis zur Differenz (z.B. 3) laufen
for($i = 1; $i >= $difference; $i++)
ich vermute mal folgendes
1. Du wolltest "$i <= $difference" schreiben
2. Du hast $difference nicht initialisiert (Tippfehler?)
3. Du hast Dich noch nicht mit LIMIT beschäftigt (das sollte Dir bei Deinem eigentlichen Problem weiterhelfen)
4. das ein zusätzliches Feld mit Zeitstempel in der DB-Table hilfreich sein wird, und die "alten Einträge" besser identifiziert als die ID.
Viele Grüße
lulu
- Du wolltest "$i <= $difference" schreiben
Daran lag es. Die for-Schelifen laufen bei PHP wohl etwas anderes als bei Object Pascal/C++...*lol*
Danke!