PDA

Archiv verlassen und diese Seite im Standarddesign anzeigen : Anzahl der Datensätze limitieren


BeefBonanza
23.02.2004, 18:04:01
Ich schreibe gerad eein Script das die Logons auswertet, dabei sollen nur die letzten 10 Logons mit Datum und Uhrzeit gespeichert werden, die anderen nur als Anzahl bei ihrem jeweiligen Benutzer.
Bei jedem Logon wurde ein Datensatz eingefügt und dann ausgeführt:
mysql_query("DELETE FROM `logons` ORDER BY `datum`,`zeit` DESC LIMIT 10,1",$datenbank);
Trotzdem lässt das Script zu dass die Tabelle mehr als 10 Datensätze hat
Woran liegt's??
Danke schonmal für die Hilfe
Gruß
Beef

c4
23.02.2004, 18:08:06
Original geschrieben von BeefBonanza
mysql_query("DELETE FROM `logons` ORDER BY `datum`,`zeit` DESC LIMIT 10,1",$datenbank);
Trotzdem lässt das Script zu dass die Tabelle mehr als 10 Datensätze hat Klar. Er fängt an zu Löschen. Also die ersten 10 überspringt er. Danach löscht er löscht er einen Datensatz. Dann ist Schluss.

Es wäre wohl sinniger, wenn du die Abfrage umformulierst: Nicht lösche von allen nach dem Datum sortierten Datensätzen die ersten 10 (soll das doch heißen, oder?)
Sondern schreibe es so: Lösche alle Datensätze, die älter sind als jetzt-3600 Sekunden oder so.

Einleuchtend?

BeefBonanza
24.02.2004, 00:37:31
Nein, soll heißen "lösche alle Datensätze außer den ersten 10", "10,1" heißt ja "einen Datensatz ab Position 10" gehen wir mal davon aus dass es am Anfang weniger als 10 sind, dann wird keiner gelöscht, sobald es 10 sind wird einer eingefügt und einer gelöscht, dann sind es wieder 10.... logisch oder??
Oder hab ich da nen Denkfehler drin?
Gruß
Beef