我正在開發一個汽車租賃系統,人們可以在這個頁面中預訂汽車。
所以我需要知道如何使用預訂表中客戶的日期範圍(出租和歸還)進行搜尋。
我有這張表:
CREATE TABLE `autos_bookings` ( `id` int(11) NOT NULL, `booking_id` int(11) NOT NULL DEFAULT '0', `auto_id` int(11) NOT NULL DEFAULT '0', `date_out` datetime NOT NULL DEFAULT '0000-00-00 00:00:00', `date_return` datetime NOT NULL DEFAULT '0000-00-00 00:00:00' ) ENGINE=InnoDB DEFAULT CHARSET=utf8; ALTER TABLE `autos_bookings` ADD PRIMARY KEY (`id`); ALTER TABLE `autos_bookings` MODIFY `id` int(11) NOT NULL AUTO_INCREMENT;
所以,我想做的是有另一個日期範圍(例如,假設:$dateclientewantsrent
和$dateclientewantsreturn
),並在該表中搜尋是否有任何現有預訂。
SELECT * FROM `autos_bookings` WHERE SOMETHING
當每個範圍起點小於相反的範圍終點時,兩個範圍重疊。即