Mailinglisten-Archive |
Hallo, Also eigentlich willst du alle zimmer haben die KEINE buchungen haben, wo weder start noch enddatum im angegeben zeitraum liegen oder? ersteinmal die buchungen, die sich ueberschneiden: WHERE gebucht.beginn <= $ende AND gebucht.ende >= $beginn Nun wuerde ich deine Zimmer mit diesen Buchungen Left-Joinen und alle herausfiltern, die keine solche Buchungen haben (buchung = null). Dann hast du die Zimmer, die im gewuenschten Zeitraum frei sind. Kann aber auch sein, dass ich mirch irre. ist ja schliesslich Freitagabend. :) Gruesse, Ilja On 11 Mar 2005 at 19:07, hans-joachim wrote: > Reservierungssystem soll es mal werden, dazu habe ich eine Frage. > Es gibt eine Tabelle mit Zimmern und die haben 2. date Felder > gebucht.beginn und gebucht.ende > > Jetzt erhalte ich per Form einen gewünschten Reservierungszeitraum: > > Danach will ich checken welche Zimmer frei sind > > Select * from GEBUCHT > where reservierungsbeginn nicht im Zeitraum gebucht.beginn bis gebucht.ende > reservierungsende nicht im Zeitraum gebucht.beginn bis gebucht.ende > reservierungsbeginn bis reservierungsende nicht den zeitraum gebucht.beginn > bis gebucht.ende einschliesst > > > Zur Zeit sieht die Abfrage so aus: > sql_query("SELECT gebucht.* FROM gebucht > WHERE ( > (gebucht.verweisaufzimmer = '".$zeile[0]."' ) > AND > ( '".$beginnmiete."' BETWEEN gebucht.beginn AND gebucht.ende) > AND > ('".$endmiete."' BETWEEN gebucht.beginn and gebucht.ende) > ) "); > > Aber diese Abfrage überprüft eben nicht, wenn der gewünschte > Reservierungszeitraum größer ist....also gebucht.beginn und gebucht.ende > einschliesst > > Wie muss ich die Abfrage modifieren??????? > > -- > Gruss > > Hans-Joachim > > -- > Infos zur Mailingliste, zur Teilnahme und zum An- und Abmelden unter > -->> http://www.4t2.com/mysql > > -- Infos zur Mailingliste, zur Teilnahme und zum An- und Abmelden unter -->> http://www.4t2.com/mysql
php::bar PHP Wiki - Listenarchive