如何在数据库中存储日期和时间用于在线广播电台项目?

时间:2011-02-26 17:01:01

标签: php datetime

我已经开始为一个新的在线广播电台创建一个网站,在今年晚些时候推出,到目前为止基本情况进展顺利 - 它运行在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

任何人都有一个很好的解决方案吗?

感谢名单

2 个答案:

答案 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)

你可以有一个节目表(演示者,描述等),与日程表(日,开始时间,结束时间)有一对多的关系。

然后,您只需要查询给定程序的所有计划,按日排序,并检测连续几天的类似开始/结束时间,以便在一行上显示它们。