2017-03-19 87 views
1

我有腳本顯示即將到來的燈具。MYSQL不顯示日期和時間已過的結果

顯然,當燈具不再活動時,我不希望它在活動燈具中顯示。

我想出了下面的腳本,但是我仍然在活動/未來活動中顯示過期事件......?

Select * FROM schedule 
     WHERE schedule.gameDate > CURDATE() OR 
        (schedule.gameDate = CURDATE() and schedule.gameTime > CURTIME()) 
     GROUP BY schedule.tournament 
     ORDER By schedule.gameDate 

enter image description here

任何建議讚賞。

編輯

不知道這是否是相關的,但我也許應該補充我聲明瞭時區執行PHP腳本獲取結果之前。

date_default_timezone_set('Africa/Johannesburg');

+1

日期和時間應該是一個字段 – nogad

+0

什麼類型的字段是gameTime和gameDate? – Ethilium

+0

gameDate field = date,gameTime field = varchar。這可能導致衝突嗎? –

回答

1

最可能的原因是您沒有將gameTime設置爲MySQL「時間」類型,因此您將蘋果與橘子進行比較,並且仍然得到布爾結果。如果您使用類似varchar,char或text的內容來存儲gameTime,則查詢仍然有效,但不會返回您期望的結果。如果您使用的是「時間」的數據類型,那麼您gameTime將使用此格式:

8點35分○○秒,而不是8:35

希望幫助。

+0

謝謝讓我試試 –

+0

謝謝你做的竅門! –