在开发会议室预订系统时,我在检索可用房间时遇到错误。
数据库结构为:
表:meeting_room_bookings
列:id(int(、meeting_room_id(int
以下是我的问题,如何根据日期和时间获得可用房间?
$this->db->select('meeting_room_id');
$this->db->from('meeting_room_bookings');
$this->db->where('date',$date);
$this->db->where('start_time',$timestamp_start);
$this->db->or_where('start_time',$timestamp_end);
$this->db->or_where('end_time',$timestamp_start);
$this->db->or_where('end_time',$timestamp_end);
$where1 = "('start_time' <= $timestamp_start) AND ('end_time' >= $timestamp_start)";
$where2 = "('start_time' <= $timestamp_end) AND ('end_time' >= $timestamp_end)";
$this->db->or_where($where1);
$this->db->or_where($where2);
$data['value1'] = $this->db->get()->result();
表格结构-https://i.stack.imgur.com/5HpnK.png
如果你想获得可用的会议室,你可以为你的会议室设置一个标记0表示空闲,1表示繁忙,如果有人预订了一个会议室,则将标记设置为1,然后在会议完成时将标记设置为0。