日期:2014-05-17  浏览次数:20421 次

无法比较时间段,求教
有一个问题:

我做了一个电视在线播放的程序。,我想让他在当前时间显示当前时间段的节目名称

电视播放的数据表是:

contentid(miniint(8),自增);
description(text);
streamurl(varchar)(主要是来存储流媒体地址)
player(varchar)(主要存储需要加载什么样的播放器)

电视节目表的数据表是

programid(miniint(8),自增)
contentid()这个主要是关联电视播放的id;
description 节目介绍
starttime()(开始时间)
endtime() (结束时间)

但是不知道如何关联才能让 播放的时候才能一个时间段的节目

示例:

你所观看的是 北京卫视 当前正在播放:发现

求助。

------解决方案--------------------
starttime 和 endttime 字段是什么类型。
------解决方案--------------------
select * from 节目表, 播放表 where 节目表.contentid=播放表.contentid and now() BETWEEN starttime and endtime
------解决方案--------------------
你的表就没有体现出周几。周几是节目的一个属性。你得先建一个这样字段。然后查的时候可以使用多个sql.
或者根据时间把节目都查出来。用程序排除一下就行了。
------解决方案--------------------
求解释

探讨

引用:

select * from 节目表, 播放表 where 节目表.contentid=播放表.contentid and now() BETWEEN starttime and endtime


这个问题不好搞。因为我的节目可能是周期性的,比如周一 周二播出,其他时间不播出。然后录入到数据库的时间是一个 固定的时间段戳。如果跳到下一天,我就没办法进行比较了……

------解决方案--------------------
表里面存的数据是 时间戳,当前的时间也可以是时间戳啊,这样两个时间戳不能作为比较吗
------解决方案--------------------
数据是死的人是活的
不是你为数据服务,而是数据为你服务

你有
示例:
你所观看的是 北京卫视 当前正在播放:发现

当然就是此时此刻了


我 #3 示意的代码中 now 应为 CURRENT_TIME 
你的 starttime 和 endtime 也应保存的是时间值,形如 08:26:30 或 082630 而不是时间戳

------解决方案--------------------
跨天?跨什么天?
你见过什么广播电视节目跨天的?
通宵电影院也是一部一部放的