Maison > Questions et réponses > le corps du texte
Je développe un système de location de voitures où les gens peuvent réserver une voiture sur cette page.
J'ai donc besoin de savoir comment effectuer une recherche en utilisant la plage de dates du client (location et retour) à partir du formulaire de réservation.
J'ai ce tableau :
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;
Donc, ce que je veux faire, c'est avoir une autre plage de dates (par exemple, disons : $dateclientewantsrent
和 $dateclientewantsreturn
) et rechercher dans cette table toutes les réservations existantes.
SELECT * FROM `autos_bookings` WHERE SOMETHING
P粉1186987402024-04-04 10:41:43
Deux plages se chevauchent lorsque chaque point de début de plage est plus petit que le point final de plage opposé. C'est
... WHERE booking.date_out < $date_cliente_wants_rent AND $date_cliente_wants_return < booking.date_return ...
Selon la logique, une ou les deux comparaisons peuvent être faibles.