2012-03-15 138 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