PHP / SQL阻止将某些时间写入表中

时间:2016-12-17 12:00:47

标签: php html mysql

我想我的问题可能有一个简单的解决方案,但我被困住了。 我有MYSQL-Table和表格。用户输入填写表单。用户必须提供事件的开始时间。 e.g. 8:00 o'clock以及活动的持续时间。结束时间根据持续时间计算。因此,如果事件从8开始,持续时间为2 hours,则会在结束时间列中写入10:00

现在问题是,我如何阻止用户可以在9:00填写活动,因为会议室已被8 - 10阻止? 我感谢您的帮助! 干杯!

1 个答案:

答案 0 :(得分:0)

用户提交表单后,您可以占用提交时间,并通过以下查询检查该时间段内是否有人居住:

SELECT COUNT(1)
FROM event as e
WHERE e.room = <room_number>
AND (<start_time_of_new_event> BETWEEN e.start_time AND e.end_time
    OR <end_time_of_new_event> BETWEEN e.start_time AND e.end_time)

start_time_of_new_event 将被提交开始时间值

end_time_of_new_event 将被提交开始时间+持续时间

room_number ->我只是假设您有更多房间,可以进行活动

如果此查询返回1或更多,则表示提交时间已占用空间。

如果您想禁止提交占用房间时间的可能性,则可以在显示表格之前选择占用的时隙。然后在脚本中确定可以预定的时间