mysql eintrag (automatisch) nach 3 tagen löschen

Operator_Jon

Erfahrenes Mitglied
HI!
Ich brauche ein script, oder eine möglichst genaue erklärung, wie man mit php+mysql einen eintrag automatisch nach 3 tagen löscht. es MUSS nicht automatisch sein, es kann auch das script alle 3 tage ausgefürhrt werden, ich bräuchte es aber erstmal. wär super, wenn ihr mir da helfen könntet:)

THX
cu
OP_Jon
 
du benötigst ein der entsprechenden tabelle in feld für einen timestamp (z.b. datum).
darin speicherst du beim eintragen des datensatzes den aktuellesn timestamp
Code:
$sql = "INSERT INTO tabelle (das, dies, jenes, datum) VALUES ('bla', 'bla', 
bla', '".time()."')";

nun mußt du beim aufruf des scriptes lediglich prüfen, ob datensätze mit timestamps älter als 3 tage vorhanden sind und löscht diese dann entsprechend:
Code:
$sql = "DELETE FROM tabelle WHERE datum < '".(time() - 60*60*24*3)."'";

cu bloddy
 
super cool, THX
ich habe bereits in 2 anderen foren nachgefragt, nie habe ich so eine präzise und gute antwort bekommen, die man auch sofort versteht:) !!!
thx
cu
OP_Jon

//EDIT:
Das scipt muss dann jeden tag ausgeführt werden, da lieg ich doch richtig oder^^
 
Zuletzt bearbeitet:
ich würde die abfrage direkt in das script einfügen, welches die entsprechenden daten ausliest...und zwar vor dem auslesen ;-).

es ist egal ob das script dann alle 5 tage oder alle 5min ausgelesen wird, da durch das löschen aller einträge, die zum zeitpunkt des scriptaufrufs älter als 3 tage sind, die daten immer jünger als 3 tage und damit "aktuell" sind - und darauf kommt es ja an.

cu bloddy
 
Zuletzt bearbeitet:
Original geschrieben von bloddy newbie
Code:
$sql = "DELETE FROM tabelle WHERE datum < '".(time() - 60*60*24*3)."'";

Ich habe das jetzt richtig verstanden, das dieses script schon auf 3 tage eingtestellt ist und fuktioniert, richtig?

Danke
cu
OP_Jon
 
du mußt natürlich den taberllen- und feldnamen nach deinen gegebenheiten anpassen.
 

Neue Beiträge

Zurück