0

大変お世話になりました。

Datetime フィールドを含む mysql db があります。そのフィールドには、特定の日付と時刻があります。次に例を示します。

2013-10-03 22:28

次に、コマンドから特定の日付と時刻を取得する PHP スクリプトを作成します$_GET。値は、年、月、日、時、分です。

この GET から、次のように Date を作成しました。

$datum = $year."-".$month."-".$day." ".$hour.":".$minute.":".$seconds;
$date = date('Y-m-d H:i',strtotime($datum));

私が今しなければならないことは、私が作成したこの新しい日付を、データベース内の最後の日付値 (最新) と比較することです。ポイントは、これを比較した後、db の最後の値が 5 分より古いかどうかを確認してから、特定のアクション (新しい行を挿入) を実行し、db の最後の日付が 5 分よりも新しいかどうかを確認することです。 、 何もしない。

4

3 に答える 3

0

次のように SQL を使用できます。

select count(*) from `table` where `datefield` >= '$date'

$date は次のように計算できます

 $date = date('Y-m-d H:i', strtotime($datum) - 5*60);

5×60~5分

パフォーマンス上の理由から、次のようにインデックスを追加してdatefield選択を変更することをお勧めします。

select `datefield` from `table` where `datefield` >= '$date' limit 1
于 2013-10-09T22:48:03.147 に答える
0
$now = new DateTime();
$dateFromDB = new DateTime($someValueFromYourDataBase);

// subtract 5 minutes from now and compare with the stored timestamp
if ($now->sub(new DateInterval('PT5i') > $dateFromDB) {
    // database timestamp is older - do something
}
于 2013-10-09T22:47:05.567 に答える