日期:2014-05-17 浏览次数:20472 次
SELECT * FROM `table` WHERE CURRENT_TIME() BETWEEN `开始时间` AND `结束时间`;
------解决方案--------------------
数据库是不是可以存一个区域呢。一个开始一个结束。这样不就好办了?
------解决方案--------------------
如果你节目单是周期性的,那就有多个判断拉。
swtch($weeks){
case 1:
3:00 - 5:00->a节目表,5:00 - 6:00->b节目表,6:00-9:00->节目表c}这样的(做相应的判断就可)
case 2:
{3:00 - 5:00->a节目表,5:00 - 5:30->B节目表,5:30 - 6:00->D节目表,8:00-9:30->C节目表}(同理)
}
------解决方案--------------------
为啥搞这么纠结...
节目表是有规律的是吧? 那么只要在数据库中记录每个节目的起始时间,用unixtimestamp表示,只要
节目开始 < 当前时间 < 节目结束 不就行了么?
然后就是定时去填充节目表就行呗..
------解决方案--------------------
你早给出表结构,问题早就解决了!
现在的日期 now()
今天周几 weekday(now())
今天有哪些节目播出 find_in_set(weekday(now()), `week`) 注意你的 week 字段名是 mysql 保留字
现在的时间 curtime()
当前的时间在哪个时间段 curtime() between start_time and finish_time
组合在一起
select * from tbl_name where find_in_set(weekday(now()),`week`) and curtime() between start_time and finish_time
------解决方案--------------------
14楼的回答最靠谱,我赞同。