我想我的问题可能有一个简单的解决方案,但我被困住了。
我有MYSQL-Table
和表格。用户输入填写表单。用户必须提供事件的开始时间。 e.g. 8:00 o'clock
以及活动的持续时间。结束时间根据持续时间计算。因此,如果事件从8开始,持续时间为2 hours
,则会在结束时间列中写入10:00
。
现在问题是,我如何阻止用户可以在9:00
填写活动,因为会议室已被8 - 10
阻止?
我感谢您的帮助!
干杯!
答案 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或更多,则表示提交时间已占用空间。
如果您想禁止提交占用房间时间的可能性,则可以在显示表格之前选择占用的时隙。然后在脚本中确定可以预定的时间