我有一个关于电视指南的项目,在数据库中称为mytvguide - 我使用PHPMyAdmin。这是一个表的结构,称为tvshow1:
Field Type
channel varchar(255)
date date No
airdate time No
expiration time No
episode varchar(255)
setreminder varchar(255)
但我不确定如何使用DATE,TIME来处理分页脚本(下面是脚本,适用于带有DATETIME的版本):http://pastebin.com/6S1ejAFJ
然而,虽然DATETIME可以运行 - 它显示当天播出的节目如下:
Programme 1 showing on Channel 1 2:35pm "Episode 2" Set Reminder
Programme 1 showing on Channel 1 May 26th - 12:50pm "Episode 3" Set Reminder
Programme 1 showing on Channel 1 May 26th - 5:55pm "Episode 3" Set Reminder
但是我不太确定如何复制那些使用DATE,TIME函数的字段,如上所示。
答案 0 :(得分:1)
回答你的问题标题:
datetime
类型非常方便,您始终可以使用date()或time()函数格式化此字段以获取相应的部分或 huge list <中的任何其他函数/强>
对于问题体,字段类型与分页无关。 有一个特别的问题吗?
答案 1 :(得分:1)
在MySQL中,您可以使用DATE_FORMAT
(请参阅manual)
例如:
SELECT DATE_FORMAT(airdate, "%d %M %Y - %H:%i") FROM programs WHERE ....
否则,您只需按原样提取值,并使用PHP提供的时间/日期函数进行修改
答案 2 :(得分:0)
如果您希望扩展数据库,则应遵循一条重要规则:避免使用每行功能,例如if
,coalescse
,case
和是,{{1} }和date()
。
表中的属性(列)应该是您处理的最小单位。如果您需要搜索日期,请单独存储日期。 不要将其合并到日期时间中,您必须在time()
语句中将其解压缩。
将属性组合到单个字段中的人,例如日期到日期时间,或恐怖的恐怖,以及你想要检查各个部分的逗号分隔列表,正在做自己和他们的继承者是一个巨大的伤害。
通常最好将两个字段粘贴在一起(例如将日期和时间分配到分页脚本的日期时间),而不是尝试分割另一个字段(用于其他目的)。
当然,如果您从不打算在查询中单独使用日期和时间,或者您希望数据库保持较小,请随意忽略我的咆哮: - )