PHP 阻止用户在 TIME 范围内添加数据

标签 php mysql

我有这样的 t_meeting :

meeting_date | meeting_from | meeting_to | meeting_room

例如我有这样的数据:

2013-09-03   | 08:00        | 09:00      | Meeting 1
2013-09-03   | 09:00        | 10:00      | Meeting 1

现在,如果 session 时间已被预订,我该如何阻止用户添加 session 。 例如,如果用户想要在相同日期和 session 室但不同时间添加 session 。

2013-09-03   | 08:30        | 09:00      | Meeting 1 <-- how to prevent it

我的意思是,如何屏蔽时间范围。我们看到 08:30 仍在预订的时间范围内。

到目前为止,这是我的 SQL 代码:

$check_meeting = mysql_query("SELECT * FROM t_meeting WHERE meeting_date = '$meeting_date' && meeting_room = '$meeting_room' && meeting_from >= '$meeting_time_from' && meeting_from <= '$meeting_time_from' && meeting_to <= '$meeting_time_to' && meeting_to >= '$meeting_time_to'");                 

if(mysql_num_rows($check_meeting) > 0)
{
echo "<div class='warns errors'>Duplicate data meeting!</div>";
}
else
{query save}

最佳答案

WHERE `meeting_date` = $date
  AND `meeting_from` <= $to
  AND `meeting_to` >= $from

如果上面的条件返回任何东西 - 那么给定的间隔与已经预订的间隔相交

关于PHP 阻止用户在 TIME 范围内添加数据,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/18582881/

相关文章:

javascript - 使用 POST 纯 javascript 发送 json 对象

PHPExcel fatal error : Allowed memory size

php - 使用静态类变量——在 heredoc 中

javascript - Nodejs npm-migration 通过一次迁移创建多个表

sql - 在 MySQL 表中显示单个排名

php - 如何在 foreach 中使用(或组合)多个数组

javascript - 如何通过 Ajax 和 PHP 传递表单

php - Mysql批量插入不插入所有数据

mysql - Dockerized spring boot 应用程序连接到主 MySQL

带 HREF 的 PHP While 循环