-1

誰でもこれについて何か考えがありますか?動作するために (1 分) を何に置き換えるかわかりません。 .$checktime['car_date']はデータベースの値で、次のようになります 2012-04-14 04:18:14

$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;");

        }
4

2 に答える 2

1

これは MySQL で直接行うことができます。PHP で日付を操作する必要はありません。

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

削除する車の ID を知る必要がある場合は、最初に SELECT を実行します。

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

ループして削除します。

于 2012-04-14T07:22:21.060 に答える
0

$checktime['car_date']時間は秒だと思います。その場合、1 分は次のとおりです。

60

したがって、次のようになります

$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;");
    }

アップデート

変数は sql タイムスタンプであるため、$checktime['car_date']最初に次のように変換する必要がありますseconds since UNIX epoch

$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;");
    }
于 2012-04-14T02:19:18.763 に答える