Heim  >  Fragen und Antworten  >  Hauptteil

Suche zwischen zwei Datumsbereichen

Ich entwickle ein Autovermietungssystem, mit dem Leute auf dieser Seite ein Auto buchen können.

Daher muss ich wissen, wie ich anhand des Datumsbereichs des Kunden (Miete und Rückgabe) aus dem Buchungsformular suchen kann.

Ich habe diesen Tisch:

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;

Ich möchte also einen anderen Datumsbereich haben (sagen wir zum Beispiel: $dateclientewantsrent$dateclientewantsreturn) und diese Tabelle nach vorhandenen Buchungen durchsuchen.

SELECT * FROM `autos_bookings` WHERE SOMETHING

P粉884548619P粉884548619180 Tage vor423

Antworte allen(1)Ich werde antworten

  • P粉118698740

    P粉1186987402024-04-04 10:41:43

    当每个范围起点小于相反的范围终点时,两个范围重叠。即

    ...
    WHERE booking.date_out < $date_cliente_wants_rent
      AND $date_cliente_wants_return < booking.date_return
    ...

    取决于逻辑,一个或两个比较可能很弱。

    Antwort
    0
  • StornierenAntwort