我有一个使用 php/mysql 创建的事件列表,它显示未来 14 天内即将发生的事件。数据库有 8 个字段
event_ID,
date_1,
date_2,
eventTitle,
eventDetails,
location,
publish,
updated.
我已经使用这个 sql 语句创建了一个列表
SELECT gpe.*, gpr.name
FROM growl_presevents gpe, growl_presrail gpr
WHERE gpe.location LIKE gpr.railID AND (date_1 >= '$today' AND date_1 <= '$week')
AND gpe.publish = 'y'
ORDER BY date_1 ASC
数组由这些语句填充
$today = date('Y-m-d'); /// Todays date
$week = date('Y-m-d', time() + (86400*14)); /// Todays date + 14 days
该列表很好,但我需要进行调整,以便在事件持续超过一天时显示事件,并且 date_1 在 14 天期限之外。
例如(只是示例数据不是实际的)
如果今天是 2012-02-01
date_1 date_2 location Title details
2012-02-07 NULL Loc001 Show Stage show
2012-02-13 2012-02-18 Loc002 Open Air Festival
2012-02-17 NULL Loc001 Comedy Comedy Show
使用我上面的 SQL 查询,前两个日期将显示 '$today',在 '3rd' 将显示所有三个日期,然后在 '8th' 第一行将消失。到目前为止一切正常,但这是我需要帮助的地方。在第 14 行第 2 行使用此查询会消失,但该事件一直持续到 18 日,因此我希望它仍然显示到 18 日。
可能有一种简单的方法可以做到这一点,但我无法理解它,所以任何帮助将不胜感激。
谢谢
菲尔