Willkommen in der Webstatt Zum Webstatt Blog und Stories
phore phore am 14.08.06 10:21

hallo.

könnte es zwar im anderen thread schreiben - ist aber was ganz anderes und vielleicht hat mal jemand dasselbe problem :).

aalso - ich habe da eine counter_heute tabelle auf einer webseite..und da möchte ich dass die einträge die älter als einen tag sind rausgelöscht werden. an sich kein problem, aber kann man das direkt im delete statement machen? die tabellenstruktur ist

[FONT=courier new]ip | time (timestamp)[/FONT]

also meine idee wäre

mysql_query("DELETE FROM `cntheute` WHERE `time` < TODAY");

(funzt natürlich nicht..)

danke für eure antworten.

netcup.de Warum gibt es hier Werbung?
Michael Michael am 14.08.06 10:33

Das geht ganze einfach mit DATE_FORMAT.

In Verbindung mit FROM_UNIXTIME (vielleicht gibt es auch eine Funktion direkt für Timestamps) kannst du so den Timestamp in Tag des Monats formatieren. Dann wäre deine Abfrage:

DELETE FROM tabelle WHERE DATE_FORMAT(FROM_UNIXTIME(deine_spalte),'%e') < DATE_FORMAT(NOW(),'%e')

Um auch Daten eines anderen Monats zu löschen musst mit OR noch analog die Abfrage einbauen

phore phore am 14.08.06 10:41

funktioniert. danke dir (wieder mal :) ), hast immer eine gute lösung parat.

Creative Commons Lizenzvertrag
Alle Inhalte des Webstatt-Archivs stehen unter einer Creative Commons Namensnennung - Weitergabe unter gleichen Bedingungen 3.0 Unported Lizenz.

Impressum & Kontakt