我在分配课堂表中有一些字段,如course_id,room_id,day_id,time_from,time_to。
现在我想避免在每次尝试分配第二次的课程上重叠。
假设有一行
cse101, 101 room, Saturday, 14:00, 16:00.
下次当我尝试在准确的房间准确分配新课程时,在15:00-18:00之间我将收到一条消息,此时您无法分配新课程..因为已经分配了cse101你可以在16:00之后添加您的课程。
我想用php ...
我该怎么做?
答案 0 :(得分:2)
重叠的逻辑如下:
select a.*
from allocates a
where a.day_id = $day_id and
a.room_id = $room_id and
a.time_from < $time_to and
a.time_to > $time_from;
当一个时间段在第二个结束之前开始而第一个在第一个结束之后结束时,两个时间段重叠。
注意:我在上面的示例中使用了变量,但您应该使用适当的参数对其进行编码。