0

フィールドを現在の時刻と比較するのに問題があります。

MySQL には、講義の開始時刻と終了時刻を記録する 2 つのフィールドがあります。

私がやろうとしているのは、現在の時間が開始時間と終了時間の間にあるかどうかを確認することです。

$starttime と $endtime は DateTime の形式です。

コードは次のとおりです。

$now = time();
$compare = mysql_query("SELECT * FROM lecture WHERE strtotime(starttime) < '$now' AND '$now' < strtotime(endtime)");

しかし、うまくいきません。

私もこれを試しました:

$now = new DateTime;
$compare = mysql_query("SELECT * FROM lecture WHERE starttime < '$now' AND '$now' < endtime");

しかし、それも壊れました。

誰かがそれを実現する方法を教えてもらえますか? どうもありがとう。

4

2 に答える 2

7

使用するBETWEEN

SELECT * 
FROM   lecture 
WHERE  NOW() BETWEEN starttime AND endtime
于 2012-12-29T10:35:24.113 に答える
1

$compare = mysql_query("SELECT * FROM レクチャー WHERE 開始時刻 < mysql_function AND mysql_function < 終了時刻");

mysql_function を次の関数のいずれかに置き換えます

1) SYSDATE(): 2012-12-29 16:03:20 として出力される例

2) CURDATE(): 2012-12-29 としての出力例

3) UNIX_TIMESTAMP(): 1356777278 の出力例

「開始時間と終了時間」の形式に応じて、クエリ内の上記の関数のいずれかを置き換えます。

于 2012-12-29T10:36:03.870 に答える