我已经开始为一个新的在线广播电台创建一个网站,在今年晚些时候推出,到目前为止基本情况进展顺利 - 它运行在Apache 2.2上,PHP 5.28。
但是,我有一个问题,我正在努力寻找解决方案 - 如何在我的网站运行的数据库中存储日期和时间, 不 日期和时间。
这就是我的意思:
http://www.metroradio.co.uk/staff.asp
http://www.radioaire.co.uk/showdj.asp?DJID=41140
请注意第二个示例中如何显示日期和时间:
这是我的例子:
Monday: 2:00 PM - 6:00 PM
Tuesday, Thursday - Saturday: 10:00 AM - 2:00 PM
Sunday: 7:00 PM - 11:00 PM
虽然上面的链接使用ASP.NET和IIS,但我的网站使用PHP,我不确定在PHP中使用它的最佳方法。
这是演示者页面的数据库结构:
presenterid - autoincrement, INT 11
presentername - varchar, 255
airtime - DATETIME
showdesc - varchar 255
任何人都有一个很好的解决方案吗?
感谢名单
答案 0 :(得分:1)
您可以使用以下字段创建第二个表:
show_id INT (foreign key)
day_id INT (use date('w'), date('S') or your own system)
begin TIME (time at which the show begins)
end TIME (time at which the show ends)
您还必须为情侣(show_id,day_id)
添加唯一约束。
当您想要获取节目时,简单的JOIN将为您提供所需的时间。
答案 1 :(得分:0)
你可以有一个节目表(演示者,描述等),与日程表(日,开始时间,结束时间)有一对多的关系。
然后,您只需要查询给定程序的所有计划,按日排序,并检测连续几天的类似开始/结束时间,以便在一行上显示它们。