2012-04-14 9 views
-1

Jeder eine Idee über das? Ich weiß nicht, was ich ersetzen soll (1 Minute), um zu arbeiten; .$checktime['car_date'] ist ein Wert in der Datenbank und ist wie dieses 2012-04-14 04:18:14Zeit in PHP mysql Datenbank verwenden

$time=time(); 

    $checktime=mysql_num_rows($get_cars); 
     if($time<$checktime['car_date'] - (1 minute)) 
     { 
     $sqlhour = mysql_query("DELETE FROM car 
        WHERE car_date < current_timestamp - interval '1' minute;"); 

     } 

Antwort

0

Ich glaube, dass $checktime['car_date'] die Zeit Sekunden. Wenn dies der Fall ist 1 Minute:

60 

So Sie would get:

$time=time(); 

$checktime=mysql_num_rows($get_cars); 
    if($time<($checktime['car_date'] - 60)) { 
     $sqlhour = mysql_query("DELETE FROM car WHERE car_date < current_timestamp - interval '1' minute;"); 
    } 

aktualisieren

Da die $checktime['car_date'] Variable ist ein SQL-Zeitstempel ist, sollten Sie es zuerst in seconds since UNIX epoch konvertieren:

$currentTime = time(); 
$carDate = new DateTime($checktime['car_date']); 

$checktime = mysql_num_rows($get_cars); 
    if($time < ($carDate->format('U') - 60)) { 
     $sqlhour = mysql_query("DELETE FROM car WHERE car_date < current_timestamp - interval '1' minute;"); 
    } 
+0

nein ich habe this.thanks versucht. $ Checktime ['car_date'] ist ein Wert in der Datenbank und ist so 2012-04-14 04:18:14. –

+0

Aktualisiere meine Antwort – PeeHaa

+0

no.ich probiere auch ein paar Gedanken aber nichts. Auch versucht und diesen Code aber wieder nichts: $ currentTime = new DateTime(); $ checktime = mysql_num_rows ($ get_cars); $ carDate = neue DateTime ($ checktime ['car_date']); if ($ currentTime-> Format ('U') < ($carDate-> Format ('U') - 60)) {$ sqlhour = mysql_query ("FROM Auto DELETE WHERE car_date

1

Sie können dies direkt in MySQL tun, es gibt keine Notwendigkeit, die Daten in PHP zu manipulieren.

DELETE FROM car 
WHERE car_date < DATE_SUB(NOW(), INTERVAL 1 MINUTE); 

Wenn Sie die IDs der Autos wissen, dass Sie dann tun Löschen sind nur eine SELECT erste, das heißt

SELECT id 
FROM car 
WHERE car_date < DATE_SUB(NOW(), INTERVAL 1 MINUTE); 

und dann Schleife durch und löschen.