2013-07-18 114 views
0

我正在運行一個查詢來顯示即將發生的事件,並選擇最接近當前日期的事件 ,我也將它按時間排序。MYSQL時間和日期問題

因此,假設今天的日期是2013年7月18日,它正在拉出距離7月18日最近的前3名。

如果事件發生在2013年7月22日,它將選擇三個事件,並且由於查詢中的AND,它也正在檢查事件的時間。

現在,如果當前時間是23:00,事件的時間是19:00,但事件是7月22日它不會顯示該事件,因爲根據查詢它應該比CURTIME更大..

所以我應該怎麼解決這個問題.. 在此先感謝

$sql="SELECT * FROM events WHERE d_o_e>=CURDATE() AND t_o_e>=CURTIME() ORDER BY d_o_e ASC,t_o_e ASC LIMIT 3;"; 
+0

你爲什麼不刪除'和t_o_e> = CURTIME()'從查詢? – alfasin

+0

如果我刪除它,那麼當天已經結束的事件將顯示... –

+0

因此使用'>'而不是'> ='與日期條件 – alfasin

回答

0
$sql="SELECT * FROM events WHERE d_o_e>=CURDATE() or 
(d_o_e=CURDATE() and t_o_e>=CURTIME()) ORDER BY d_o_e ASC,t_o_e ASC     LIMIT 3;";