Seite 2 von 2

Verfasst: 15.08.2008 18:18
von Dr.Death
ok.

Beispiel: ( Phantasie Zahlen )

Jetzt = 1234567890
Tage = 67890

Gelöscht soll alles werden was von jetzt an älter als 67890 Sekunden ist.

Lösche alles was < ( Jetzt - Tage ) ist --->
Lösche alles was < ( 1234567890 - 67890 ) ist ---->
Lösche alles was < 1234500000 ist

Einträge von Heute ( sagen wir mal von vor 890 Sekunden ) werden nicht betroffen da:
1234567000 ist nicht kleiner als 123450000

alles klar ?

/me hofft das er gerade nichts durcheinander gebracht hat ;-)

Verfasst: 15.08.2008 18:30
von TLoD
jou jou mir ist das soweit alles klar nur bin ich gerade noch am rätseln ob denn das geht, wenn ich von ner DATETIME, sekunden abziehen will.

habe iwi so das gefühl dass das nicht geht und ich iwas mit strtotime machen muss.

Verfasst: 15.08.2008 18:35
von Dr.Death
Ich weiss ja nicht wie der Datenbank Inhalt von Deinem Datumsfeld aussieht.

Das einfachste ist immer nur ein timestamp.
Dann braucht man nicht umrechnen... was Du nun glaube ich machen musst ...

Verfasst: 15.08.2008 18:40
von TLoD
$datum = 2008-08-15 18:29:17

und davon wollt ich nun die jeweiligen zeiten abziehen und alles was dann jünger bzw gleich ist löschen.

aber ich werde wohl nicht von 2008-08-15 18:29:17 sekunden abziehen können.

in einer datei arbeite ich da immer mit strtotime aber das werde ich in einer where abfrage wohl nciht mehr können.

habt ihr da ne idee wie ich das ohne den inhalt von $datum zu ändern bewältigen kann ?

Verfasst: 15.08.2008 20:20
von Dr.Death

Verfasst: 15.08.2008 23:32
von TLoD
So nu habe ich die Lösung meines Problems.
Hat zwar ewig gedauert, aber war doch mehr als nur einfach :D

Code: Alles auswählen

        if(isset($_POST['kommentareloeschen'])) {
        $datum = (time() - ($_POST['Tage']));
        $dates = (date("Y-m-d H:i:s",$datum));
	$sql = "DELETE FROM
                   ".COMMENTS."
                WHERE
                   Datum <= '".$dates."'";
        mysql_query($sql) OR die(mysql_error());