我目前有预订和房间表:
预订表
房间桌
我正在尝试创建一个搜索室sql查询,考虑到当前的入住和退房房间的日期。我不知道如何实现WHERE条件来检查有和没有现有预订记录的房间。如果确实存在预订记录,我如何验证用户输入的签入和签出日期,以便查询不会输出预订与用户输入日期范围冲突的房间
到目前为止这是我的sql:
$sql = "SELECT rooms.rid, beds, orientation, price FROM rooms JOIN bookings ON rooms.rid = bookings.rid
WHERE (beds = $nOfBeds)
AND ($cInDate < checkin AND $cOutDate <= checkin)
OR ($cInDate > checkout AND $cOutDate >= checkout)";
if ($rOrientation != "") {
$sql .= " AND orientation = '$rOrientation'";
}
现在它只输出有现有预订的房间,而不是输出符合床位参数但没有现有预订的其他房间。
答案 0 :(得分:0)
BETWEEN运算符与日期值示例
http://www.w3schools.com/sql/trysql.asp?filename=trysql_select_between_date&ss=-1
AND(签入$ cInDate和$ cOutDate)