2017-01-29 14 views
-1

私は、照会の5分(または他の設定された時間)内にあるデータベースからマイルストーンを選択するスクリプトを作成しています。私はいくつか問題があります。PHP/mySQLの照会時間と制限の照会を5分以内のものに限定します

  1. 日付がこの形式でデータベースに格納されています。

    例:2016年12月5日21時19分00秒

  2. 私はこのクエリを実行します。

    SELECT * FROMマイルストーンwhere status = "計画中"と時間> = NOW()

私はレズ将来的にはすべてのことがわかりますが、質問を例えば5分しか言わないように制限する方法はどうでしょうか?

+3

now()とnow()+ interval 5 minutesの間 – Strawberry

+0

時刻> = NOW()+300? –

+1

'INTERVAL 5 MINUTE'を使うと、特に日や週に話しているときに、300よりもはるかに自明です。 – tadman

答えて

3

あなたは例えば、所望の結果を達成するためにBETWEENDATE_ADD MySQL関数を使用することができます。:

SELECT * 
FROM milestones 
WHERE status="planned" and time BETWEEN NOW() AND DATE_ADD(NOW(), INTERVAL 5 MINUTE) 

これは、現在の日付と次の5分間の日付を持つすべてのエントリを印刷します。

あなたは最後の5分間に同じを印刷したい場合は、以下を使用することができますが:

SELECT * 
FROM milestones 
WHERE status="planned" and time BETWEEN DATE_SUB(NOW(), INTERVAL 5 MINUTE) AND NOW() 

ここDATE_ADDBETWEENのためのMySQLのドキュメントがあります。

+0

@Strawberry答えを変更し、それがあなたが意味するものなら 'date_sub'を使用しました:) –

+0

申し訳ありませんが、私はあなたが上記のクエリの意味を知りません。 –

関連する問題