atom. Löschen von MySQL-Zeile nach bestimmter Zeit

z0oL

Erfahrenes Mitglied
Hallo,
ich bin auf der Suche nach nem Script, dass automatisch alle Einträge einer MySQL-DB nach 15 minütigem Bestehen löscht.
Macht man das auch mit dem explode() Befehl ?
 
Um ein Script alle 15 Minuten anlaufen zu lassen, bräuchtest du Cron Jobs, die aber kaum einer hat...
Du musst leider warten, bis der nächste User auf deine HP geht..

Speicher einfach in deiner DB ein Extrafeld...
uhrzeit oder sonst einen namen, in dem du time() speicherst...

Und dann einfach:

PHP:
<?

$zeit = time();

$del = $zeit - 900; // 900 = 15 Minuten in Sekunden

mysql_query("DELETE * FROM table WHERE uhrzeit < $zeit");

?>

Have Fun
 
:suchen:

und was soll dir explode bringen ?
such mal nach cronjob.

Aber bevor du zu suchen anfängst, würde ich mir einfach ein anderes datenbank/script design überlegen, dass du da irgendwie drum rum kommst. ansonsten wie gesagt -> cronjobs

//edit; fudammt zu lahm
 
Macht man das auch mit dem explode() Befehl ?

nein. die zellen kann man nicht explodieren lassen. =) hrhr...


btt:
ich hab das schonmal irgendwo hier gepostet.
du schreibst nen timestamp mit in die db, dann kannst du per sql alle einträge löschen:
Code:
DELETE * FROM blablubb WHERE timestamp < $timestamp+60*15

/grml.. auch zu langsam.. icq lenkt ab.. =)
 
Die Lösung von Flexmex scheint mir nicht allzuschwer zu sein. Es würde mir auch reichen, wenn die DB auch nur bei jedem Visit geupdated wird.
Aber ist der Code hier denn richtig?

PHP:
<?

$zeit = time();

$del = $zeit - 900; // 900 = 15 Minuten in Sekunden

mysql_query("DELETE * FROM table WHERE uhrzeit < $zeit");

?>

Muss der Befehl hier
PHP:
 mysql_query("DELETE * FROM table WHERE uhrzeit < $zeit");

nich so lauten:

PHP:
 mysql_query("DELETE * FROM table WHERE uhrzeit < $del");

??

Sonst würde das ganze meiner Meinung nach nicht viel bringen. Berichtigt mich wenn ich mich täusche, danke.
 
Falsch Blizzard...denn $time enthält die Zeit des Besuchs..also die aktuelle Zeit, das heißt so ziemlich alle DB-Einträge würden gelöscht...

$del muss da hin ,wie zool schon bemerkte...sicherlich nur ein Flüchtigkeitsfehler von flexmex...
 
:-)

Schon gut, bin dir trotzdem dankbar.

Noch ne Frage am Schluss:

Das füg ich doch einfach auf der Page ein, oder? Wohl am besten auf die Hauptseite, welche ja die meisten Hits hat, wa ?
 
jo du musst das am besten in ne datei packen die dummer immer
aufrufst noch nen tipp $del muss, wenn es in die
query rein soll so aussehn: '$del' sonst fehler..
 
Zurück