2012-03-15 143 views
0

我試圖建立一個MySQL選擇語句,以便在訪問者看到頁面的當天獲取MySQL表(事件)中的所有數據。但是,到目前爲止 - 我的意思是第二天上午6點到上午5點59分。原因是事件持續到第二天清晨,我希望該頁面顯示人們瀏覽網站時仍在發生的事件 - 例如上午1點。在PHP中設置日期和時間變量

我有這樣的代碼到目前爲止

SELECT * FROM events WHERE %DATE_START_SELECTED% <= start_datetime AND end_datetime < %DATE_END_SELECTED% 

但是我莫名其妙,我怎麼會設置%DATE_START_SELECTED%和%DATE_END_SELECTED%在PHP。任何想法請:)?

感謝

回答

2

使用此代碼

SELECT * FROM events WHERE %DATE_START_SELECTED% between to_date(start_datetime AND end_datetime) 
+0

嗨NarayaN,對不起,我有點在這個:)沒有經驗,什麼是* to_date8變量?而且我仍然必須將%DATE_START_SELECTED%設置爲當前的日子嗎?如果此人在早上6點之前查看頁面,則必須將其設置爲前一天然後 – pufAmuf 2012-03-15 15:06:26

+0

1. * to_date *不是變量。它用於將字符串轉換爲mysql中的日期格式,如start_datetime和end_datetime。第二件事是肯定的,你必須設置%DATE_START_SELECTED%到當天.....如果這個人在早上觀看頁面,那麼你不必擔心昨天的日期....讓它成爲今天的日子。 ........我希望我很清楚......寫更多的疑問。 – NarayaN 2012-03-16 06:11:34

1

你可以用這個簡單的SQL語句解決問題了嗎?

SELECT * FROM events 
WHERE start_datetime >= UNIX_TIMESTAMP(CURRENT_TIMESTAMP()) 
AND end_datetime < UNIX_TIMESTAMP(CURRENT_TIMESTAMP() + INTERVAL 24*60*60-1 SECOND) 
+0

嘿馬立克,謝謝你的回答,我會馬上試試。但在我測試之前,因爲我是新的,我可以問你一些事情嗎? Unix時間戳會得到當前的服務器日期?我將使用的位置與服務器所在的位置不同。有沒有變化? – pufAmuf 2012-03-15 15:38:22