kostenloser Webspace werbefrei: lima-city


Datum aus mysql überprüfen und bei 24 Std. alt löschen

lima-cityForumProgrammiersprachenPHP, MySQL & .htaccess

  1. Autor dieses Themas

    kill-a-teddy

    Kostenloser Webspace von kill-a-teddy

    kill-a-teddy hat kostenlosen Webspace.

    Hallo liebe Community,

    Ich lese eine Tabelle(uid, id_clicked, time_clicked) aus mit:
    $abfrage = 'SELECT * FROM clicked WHERE uid = '.$user.'';


    Und möchte jetzt überprüfen, wie alt die einzelnen Klicks sind und wenn sie länger als 24 Stunden alt sind, sollen sie gelöscht werden... Quasi:

    Wenn (time_clicked = älter als 24 Stunden) {
    Delete time_cicked und dazugehörige Zeile inclusive id_clicked und uid
    }



    Hat jemand eine Idee, wie ich das realisieren kann? Denn der Wert ändert sich ja jede Sekunde, da kann ich nicht jede Sekunde das Datum neu rein schreiben...
  2. Diskutiere mit und stelle Fragen: Jetzt kostenlos anmelden!

    lima-city: Gratis werbefreier Webspace für deine eigene Homepage

  3. Also wenn es nur darum geht sie aus der Datenbank zu löschen, dann mach doch sowas:
    DELETE FROM clicked
    WHERE uid = userid
    AND time_clicked < jetziger_timestamp - 24 * 60 * 60


    Die userid und der timestamp kommen natürlich von php rein.
    Wenn du ein MySQL zeitformat für time_clicked verwendet hast, dann sieht das natürlich etwas anders aus:
    DELETE FROM clicked
    WHERE uid = userid
    AND time_clicked < DATE_SUB(NOW(), INTERVAL 1 DAY)

    Oder willst du da noch mehr machen?

    Beitrag zuletzt geändert: 26.2.2012 18:03:45 von sektor
  4. Ist die Frage was für ein Format dein time_clicked Feld hat, wenn es ein Timestamp ist,
    dann kannst du in mysql einfach mit: time_clicked < (NOW() - 24 * 60 * 60) abfragen.
    Anders musst du vorher time_clicked in einen Timestamp wandeln.

    Beitrag zuletzt geändert: 26.2.2012 18:07:15 von sneppa
  5. Autor dieses Themas

    kill-a-teddy

    Kostenloser Webspace von kill-a-teddy

    kill-a-teddy hat kostenlosen Webspace.

    sektor schrieb:
    Die userid und der timestamp kommen natürlich von php rein.
    Wenn du ein MySQL zeitformat für time_clicked verwendet hast, dann sieht das natürlich etwas anders aus:
    DELETE FROM clicked
    WHERE uid = userid
    AND time_clicked < DATE_SUB(NOW(), INTERVAL 1 DAY)

    Oder willst du da noch mehr machen?


    Das war zwar nicht genau, was ich gesucht hatte, aber erfüllt ein und denselben Zweck, danke soweit :P

    Jetzt muss ich nur noch irgendwie die scheiß uid aus drupal auslesen -.-
  6. $time = time() - (24 * 60 * 60);

    $q = mysql_query("DELETE FROM tabelle WHERE eintragstime < '$time'");
  7. Diskutiere mit und stelle Fragen: Jetzt kostenlos anmelden!

    lima-city: Gratis werbefreier Webspace für deine eigene Homepage

Dir gefällt dieses Thema?

Über lima-city

Login zum Webhosting ohne Werbung!