Ankündigung

Einklappen
Keine Ankündigung bisher.

[Erledigt] hilfe: löschen einer zeile nach bestimmter zeit

Einklappen

Neue Werbung 2019

Einklappen
X
  • Filter
  • Zeit
  • Anzeigen
Alles löschen
neue Beiträge

  • [Erledigt] hilfe: löschen einer zeile nach bestimmter zeit

    hallo leutz,

    wie kann ich es machen, dass eine zeile in einer tabelle automatisch nach einer bestimmten zeitspann gelöscht wird, man muss doch da irgendwie time(); reinbekommen und dann mit einem script ermitteln, wie alt die zeile in der tabelle ist und dann loeschen.

    CREATE TABLE `toplist_logs` (
    `id` int(6) NOT NULL auto_increment,
    `memberid` int(7) NOT NULL default '0',
    `ip` varchar(15) NOT NULL default '',
    PRIMARY KEY (`id`)
    ) TYPE=MyISAM AUTO_INCREMENT=0;

    ^tabelle

    wie kann man das anstellen?


  • #2
    Wenn das automatisch laufen soll:

    http://www.cronjob.de/

    Kommentar


    • #3
      ne, wenn ein script ausgefuehrt wird, dass das dann überprüft, was älter als x minten ist und dann loescht.

      Kommentar


      • #4
        Setz für jeden Eintrag in die DB einen Timestamp, beim nächsten Script-Aufruf vergleichen, ob älter als fünf Minuten und weg damit

        Kommentar


        • #5
          timestamp: time(); oder?

          wie kann ich dann dann das überprüfen?

          Kommentar


          • #6
            Zitat von PHpogo
            timestamp: time(); oder?
            Jepp. Dann einfach den Timestamp der aktuellen Zeit nehmen und alle Einträge aus der DB löschen, deren Timestamp kleiner als aktuell minus 300 (5 Minuten á 60 sec) ist

            Kommentar


            • #7
              wärst du so gut, und machst mir die überprüfung mit variablen?

              Kommentar


              • #8
                Zitat von PHpogo
                wärst du so gut, und machst mir die überprüfung mit variablen?
                Wärst Du so gut und versuchts es erst mal selber? Guck Dir mal das hier

                http://de3.php.net/time

                an, da sind sogar Beispiele auf der Seite und 300 von einem Wert abziehen, das solltest Du hinbekommen.

                Kommentar


                • #9
                  ok, danke für deine hilfe

                  Kommentar


                  • #10
                    Das in die Tabelle einfügen und immer mit time() befüllen
                    `time` int(11) NOT NULL default 0
                    Bei int(11) bin ich mir nicht sicher ob das für einen timstamp richtig ist.
                    PHP-Code:
                    <?php
                    $minuten 
                    5;
                    $sekunden $minuten 60;
                    $sql "DELETE FROM toplist_logs WHERE time < ".(time()-$sekunden);
                    // hier $sql an die datenbank senden
                    ?>
                    Water Wars - Jetzt anmelden: http://waterwars.de

                    Kommentar

                    Lädt...
                    X