2016-07-05 57 views
0

我已經與列event_starting_time & event_ending_time插槽,其中存儲日期時間格式爲2016-06-17 23:00的開始和結束事件。顯示即將到來的活動,包括當前和即將到來的活動

因此,在儀表板中,我需要顯示下一個將要加入的所有事件。

假設當前時間是7月5日晚上10點40分。假設如果我有一個event_starting_time作爲2016-07-05 22:30(10.30PM)和event_ending_time作爲2016-07-05 23:30(11.30PM)的事件,那麼我想在列表中顯示這個事件。

以下是我當前的查詢,它只顯示即將發生的事件,而不是現在實際發生的事件。

$conditions = array('event_starting_time >=' => date("Y-m-d H:i")); 
$parameter = array('conditions' => $conditions); 
$slots = $this->Slots->find('all', $parameter); 

對於上面的SQL查詢將是

SELECT * from Slots where event_starting_time >= date("Y-m-d H:i"); 

我歡迎任何SQL或CakePHP的解決方案。

回答

0

而不是包含H:i,您應該只篩選日期爲y-m-d的地方,而不是更準確。否則,您必須檢查事件的每秒保存。嘗試使用像這樣的全局變量更簡單的日期時間。

所以就變成:

$this->Slots->find()->andWhere ('like', 'datetime', $variable);

0

如果你的條件,包括正在發生的事件,那麼你可以簡單的測試,而不是事件的結束,即

event_ending_time > value 

這將包括正在進行的活動(下午11點30分結束>當前下午10點40分)以及所有即將發生的活動。

+0

'$條件=陣列( 'event_ending_time> ='=>日期( 「Y-M-d H:I」​​));' 包括等號覆蓋最後一分鐘。 – Gaurav

0

正在進行事件

select * from event where 
(event_starting_time < current) and (event_ending_time > current)