Automatisch löschen

PsychoGiga

Mitglied
Hi,
wollte fragen wenn ich zb jetzt einen eintrag mache wie ich den automatisch nach 3 sekunden ohne dass ich etwas mache gelöscht wird.
Geht das ? Wenn ja wie ?
 
Sorry, aber ich verstehe leider nur Bahnhof.
Wo willst Du was für ein Eintrag tätigen, der automatisch gelöscht werden soll? :confused:

redlama :suspekt:
 
also jetzt mal genauer geht um mysql
Ich mach jetzt einen eintrag in die datenbank.So und jetzt will ich daß der Eintrag automatisch nach 5 Sekunden gelöscht wird dh ich geb nur den befehl an, er wartet dann halt 5 sekunden und löscht den eintrag einfach wieder.also so ne verzögerung von 5 sekunden.

Des wird ja sicher bei Browsergames verwendet wenn man ein Gebäude baut dass man während dem bau seiten wechseln kann und der bau nicht einfach abgebrochen wird.
 
Ich glaube das hilft nur bedingt, denn wenn Du statt "INTERVAL 3 SECOND" "INTERVAL 3 DAYS" sagen würdest, dann würde er alle Einträge löschen, bei denen das Datum kleiner ist, als das Datum in 3 Tagen. Er würde aber nicht 3 Tage warten, bis er die Daten löscht.
Wenn das ganze natürlich ca. 3 Sekunden Verzögerung hat, dann würde es natürlich passen.

redlama
 
Baue doch einfach bei einem Refresh der Seite eine Abfrage ein, ob in der Db noch Einträge vorhanden sind, die älter als 5 Sekunden sind. Natürlich muss dann in die Tabelle noch ein Feld mit einem Timestamp oder was ähnlichem. Das sollte doch eigentlich dein gewünschtes ergebniss herbeiführen, oder?
 
Wozu ein Tutorial? Die PHP-Funktion time() macht exakt, was Du willst. Älter als 3 Sekunden ist alles kleiner als time()-3, ganz einfach ;)

Oder direkt in SQL:

INSERT INTO tabelle (timestamp) VALUES(UNIX_TIMESTAMP())

Diese Query fügt automatisch den aktuellen Timestamp in die DB ein, alle Einträge, die älter als 3 Sekunden sind, löschst du einfach mit:

DELETE FROM tabelle WHERE timestamp<UNIX_TIMESTAMP()-3
 
Also ich hab jetzt noch einfacher ohne timestamp
Also
INSERT INTO tabelle (Datum) VALUES (NOW());
und die 2. Funktion
DELETE FROM tabelle WHERE Datum<NOW()-3;
auch super da wär aber noch was anderes ^^
kann man auch in jeder zeile nach einem nick suchen und dann nur die zeile löschen wo der nick drinne steht ?
 
Zurück