【问题标题】:PHP/MySQL - Calender/Setting appointments questionPHP/MySQL - 日历/设置约会问题
【发布时间】:2011-07-12 00:39:15
【问题描述】:

我必须列,两个日期时间。一个是约会开始的时间,另一个是约会结束的时间。

我需要一个 mysql 查询,它基本上会返回白天的可用时间,这样我就可以设置约会而不会重叠。

因此,如果我周一从下午 1 点到下午 6 点营业,并在下午 2 点到 3 点进行预约,它将返回两个结果:

日期 13:00:00 - 日期 14:00:00 和日期 15:00:00 - 日期 18:00:00

【问题讨论】:

  • stackoverflow.com/questions/6439803/… 并没有专门解决您的问题,但您应该看看 PHP 日历的房间预订功能如何......
  • 我认为 This question 更符合您的要求。
  • @sdolgy 我的一个朋友实际上建议我做这样的事情..为每个 id 创建一个 5 分钟的时间段,例如;将 6 分配给 30 分钟的约会。我实际上也在考虑类似的事情,谢谢你的链接!

标签: php mysql datetime select


【解决方案1】:

我的解决方案是始终有 2 个日期时间,一个是开始时间,一个是结束时间。在我看来,这将是“更清洁”的方式。

获得开放约会的方法是这样的:

SELECT *
FROM appointments
WHERE end_time = "0000-00-00 00:00:00" (or > in stead of = for all appointments)

或者如果你把它留空,像这样:

SELECT *
FROM appointments
WHERE end_time IS NULL (or IS NOT NULL for all appointments)

【讨论】:

  • 这就是我的想法,我想我需要某种类型的查询,我可以做.. 从应用程序中选择 * 日期落在某些日子但不在已经设置的约会范围内,如果可能的话。
  • 我想你想要某一天的所有约会?
  • 这意味着第二列将为空(或默认值 = 01-01-1970 00:00 我相信)。
  • 这还需要数据库中的每个时间段(包括空闲时间段)都有一个条目,而不仅仅是预定的约会。
  • 不,我们的想法不是用可用槽位填充表,而是查询预定日期并通过逻辑找出可用槽位
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2012-05-18
  • 1970-01-01
  • 2017-02-16
  • 2011-04-23
相关资源
最近更新 更多