Daten nach Datum auslesen wobei frühere gelöscht werden

Subwoover

Erfahrenes Mitglied
Ich bräuchte die Funktion wenn man eine Site aufruft, dass alle Einträge bei denen Das Feld "datum" von gestern ist gelöscht werden.

Ist sowas irgendwie machbar?
Also zB heute ist der 15te und ich rufe die Page auf, und alle die im Feld datum ein früheres datum als das aktuelle stehen haben werden gelöscht.

Kann mir da wer helfen??
 
Ich glaub hier würde es extrem helfen, wenn du uns mal erklärst wie das ganze genau aussieht. ( Datenbank, Textdatei ....) und so weiter und so fort.
2b
 
Oh genau :)

Also es handelt sich um einen Datenbank basierenden Warplaner für meinen Clan.
Um nicht jedes mal nach einem War den Eintrag löschen zu müssen wollt ich es eben automatisieren. Aber da der War NICHT gelöscht werden soll wenn das Datum ident mit dem aktuellen Datum ist (wär ja blöd--->heute war, eintrag gelöscht für heute) sondern erst wenn er Heute minus 1 ist, also gestern :)

Irgendwie verständlich was ich erreichen will?
Hier mal die im Moment sehr simple Schleife:

PHP:
    if ($go == warplaner) {

        $connect = mysql_connect("localhost","es","es11");
        mysql_select_db("es",$connect);


        $planer = mysql_query("SELECT * FROM es3_nextwar");

        while ($showrow = mysql_fetch_object($planer)) {
            echo "$showrow->gegner<br>";

        }
    }
 
speicherst du die zeit als datumstring oder als timestamp ???
mit timestamp wäre es am einfachsten, weil du da mit zahlen rechnen kannst und nicht überprüfen musst ob gestern zufällig im letzten monat liegt usw...
 
Das feld ist als "date" definiert...
Wo liegt der genaue Unterschied zu "timestamp" ?
Ist timestamp doch die Definition mit Unix Zeit oder?
 
kannst glaub nur mit timestampt die genaue zeit mit datum und so ermitteln....
dann wandelst du die timestamp hald um in ein datum und machst die abfrage...

korrigiert mich wenn ich falsch liege...
 
Timestamp liefert die Zeit in Vergangenen Sekunden seit dem 01.01.1970 00:00.
Also hat ein Tag 84600 sekunden. Deshalb musst du wenn du in deiner DB den Timestamp reinschreiben lässt ... nur noch prüfen ob timestamp_db < timestamp_aktuell - 84600 ist. dann kanns gelöscht werden... verstanden...?? benutze in php die funktion time();

2b

//edit
ich hab keine ahnung wie das mit dem Date format in DBs ist. Vielleicht gibts da noch ne bessere methode.
//edit
 
Mom ich probier mal :)

EDIT----->
Also ich hab das jez mal mit einer Bedingung probiert, geht nicht ganz :)

Ich weiss nicht genau wie ich ihm sagen soll dass ers löscht!
Ich hab das darweil mal so gemacht, geht eben aber irgendwie nicht:

PHP:
        $date = time();
        $delete = "DELETE FROM es3_nextwar WHERE datum < $date";
        
if (mysql_query($delete)) {
...

Wie kann ich das denn machen?
 
Zuletzt bearbeitet:
... er löscht halt nix...
schau dir da meinen letzten beitrag an :)

Nicht dass da mein fetzchen Code übersehen wird hehe
 
geht das mit dem < in ner mysql abfrage überhaupt?

weil dann habe ich soeben ne lösung für mein poblem gefunden :)
 
Zurück