【发布时间】:2010-12-26 15:23:57
【问题描述】:
几年前我遇到了这个问题,当时我实施了“不同的逻辑”来交付项目,但我的脑海中仍然存在疑问,希望在你的帮助下我现在能够理解它。
假设我的数据库中有一些预定事件可能会在几天内产生,也可能不会产生:
id event start end
-----------------------------------------------
1 fishing trip 2009-12-15 2009-12-15
2 fishCON 2009-12-18 2009-12-20
3 fishXMAS 2009-12-24 2009-12-25
现在我想在日历中显示事件,让我们以 12 月份为例:
for ($day = 1; $day <= 31; $day++)
{
if (dayHasEvents('2009-12-' . $day) === true)
{
// display the day number w/ a link
}
else
{
// display the day number
}
}
dayHasEvents() 函数应该执行什么查询来检查当天是否有(或没有)事件?我猜SELECT .. WHERE .. BETWEEN 在这里最有意义,但我不知道如何实现它。我的方向正确吗?
提前致谢!
@詹姆斯:
假设我们在 12 月 19 日:
SELECT *
FROM events
WHERE start >= '2009-12-19 00:00:00'
AND end <= '2009-12-19 23:59:59'
应该返回事件#2,但什么也不返回。 =\
【问题讨论】:
-
@Alix,我的代码有错误。我交换了比较标志。再次检查:)
-
谢谢,这很简单。猜猜那是我犯的同一个错误。
标签: php database calendar scheduling