我有这样的 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/