Update der Daten

Paulus120

Mitglied
Hallo,

ich muss per Cronjob einmal am Tag die Daten einer Tabelle überprüfen.
Es gibt eine Spalte "beginnantwort" mit einem Timestamp im folgendem Format: z.B. 20051029152233

Jetzt muss ich alle Datensätze ändern welche älter sind als 60 Minuten.

Code:
$query = mysql_query ("UPDATE auctions SET bidder='', zustand='1' WHERE beginnantwort='?' AND zustand='2'");

Kann ich die aktuelle Zeit minus 60 Minuten irgendwie angeben da wo ich das Fragezeichen gesetzt habe ?

Gruß
Paulus
 
Es waere besser gewesen einen richtigen Timestamp zu speichern.
Denn so musst Du erst rumrechnen wie ein Wilder bis Du zum richtigen Ergebnis kommst.
Aber Du kannst an der Stelle den Timestamp-60min. einbauen.
Ich wuerde aber das = durch ein < ersetzen.
 
Hi Paulus,
ich würde der Spalte den - von MySQL für sowas gedachten - Spaltentypen DATETIME zuordnen. Dann lässt sich nämlich bequem mit den MySQLschen Datums- und Zeitfunktionen arbeiten:
PHP:
<?php
$sql = "UPDATE 
            auctions 
        SET 
            bidder = '',
            zustand = '1'
        WHERE
            beginnantwort <= DATE_SUB(CURDATE(), 1 HOUR) 
        AND
            zustand='2'";
$res = mysql_query($sql);
?>

Gruß
Marvin
 
Hallo Marvin,

deine Lösung ging irgendwie nicht. Hab es jetzt so:

$query = mysql_query ("UPDATE auctions SET bidder='', zustand='1' WHERE date_add(beginnantwort, interval 1 hour)<now() AND zustand='2'");

Danke !
 
Zurück