在PHP中从MYSQL中提取日期

时间:2013-10-27 20:55:01

标签: php mysql date

我有一张事件表:

字段包括:名称,开始日期和结束日期。

在我的网页中,我现在想要绘制整整一个月的日历

为了创建页面,我正在迭代这个月的日子,并且想要检查这些天是否已经预订了一个事件。例如。如果日期出现在表格中任何记录的开始日期和结束日期之间。

我很确定我不想运行31个查询,所以在实现这个目标的最佳方式之后呢?

2 个答案:

答案 0 :(得分:2)

您不需要31个查询,您可以获取整个月,然后在PHP代码中完成剩下的工作。

SELECT
    `name`,
    `start-date`,
    `end-date`
FROM
    `table of events`
WHERE
    `start-date` BETWEEN '2013-10-01 00:00:00' AND '2013-10-31 23:59:59'
OR
    `end-date` BETWEEN '2013-10-01 00:00:00' AND '2013-10-31 23:59:59';

它将为您提供有关在给定时间段内开始或结束的所有事件的信息。随心所欲地做它。

答案 1 :(得分:1)

$query = "SELECT name, start-date, end-date from Events WHERE (start-day >= $firstDayOfMonth AND start-day <= $lastDayOfMonth) OR (end-day >= $firstDayOfMonth AND end-day <= $lastDayOfMonth)";

这将为您提供在给定月份内开始或结束的所有活动。

$ firstDayOfMonth,$ lastDayOfMonth - 您应该根据用户输入在PHP代码中计算这些内容。