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

PHP/SQL阻止将某些时间写入表中,php,html,mysql,Php,Html,Mysql,我想我的问题可能有一个简单的解决办法,但我被卡住了。 我有一个MYSQL表和一个表单。用户输入将填充表单。用户必须提供事件的开始时间例如8:00和事件的持续时间。根据持续时间计算结束时间。因此,如果事件从8点开始,持续时间为2小时,则结束时间列中将写入10:00 现在的问题是,我如何防止,用户可以在9:00填写事件,因为房间被禁止8-10? 我感谢你的帮助! 干杯 用户提交表单后,您可以使用此查询获取提交时间并检查该时间内是否有人占用房间: SELECT COUNT(1) FROM event

我想我的问题可能有一个简单的解决办法,但我被卡住了。 我有一个
MYSQL表和一个表单。用户输入将填充表单。用户必须提供事件的开始时间<代码>例如8:00
和事件的持续时间。根据持续时间计算结束时间。因此,如果事件从8点开始,持续时间为
2小时
,则结束时间列中将写入
10:00

现在的问题是,我如何防止,用户可以在
9:00
填写事件,因为房间被禁止
8-10
? 我感谢你的帮助!
干杯

用户提交表单后,您可以使用此查询获取提交时间并检查该时间内是否有人占用房间:

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)
选择计数(1)
从事件作为e
其中e.room=
和(在e.开始时间和e.结束时间之间
或介于e.开始时间和e.结束时间之间)
新事件的开始时间将提交开始时间值

新事件的结束时间将提交开始时间+持续时间

房间号码->我只是假设你有更多的房间,在那里可以举行活动

如果此查询返回1或更多,则房间在提交的时间内被占用


如果要禁用提交房间占用时间的可能性,可以在显示表单之前选择占用的时间段。并在脚本中确定可以预订的时间

检查输入的开始时间是否不在现有开始时间和结束时间之间?你到底在问什么?在你的PHP操作页面中,你可以检查开始时间+2小时和结束时间之间的时间戳,看看它是否在上面。请看,您可以在查询开始时间和结束时间之间进行尝试。您可以添加一个标志列,当其已预订时,将其设置为1,并在每次更新时使用它检查是否可以预订。。