Hallo Allerseits,
ich habe mir ein kleines Buchungsscript in PHP geschrieben. Dabei kann mein Kunde eine Buchung über ein Formular eingeben mit An- und Abreisetag. Das Ganze wird dann in eine MySQL Datenbank gespeichert. Die beiden Datum werden als date() gespeichert.
Das funktioniert:
z.B. Anreisetag: 01.01.2016 / Abreisetag 05.01.2016
-> in MySQL als 2016-01-01 und 2016-01-05 gespeichert.
In einem Kalender wird der Zeitraum als gebucht / belegt angezeigt. Der 01.01.2016 und 05.01.2016 werden dabei als "halfdays" angezeigt (ich nenn das jetzt mal so).
Das funktioniert nicht:
Bei einer weiteren Buchung soll abgefragt werden, ob der gewünschte Zeitraum noch frei ist. Dabei, und daran scheitere ich, sollen der Ab- und Anreisetag berücksichtigt werden.
D.h. wenn jetzt z.B. jemand vom 05.01.2016 bis 10.01.2016 buchen will, dann soll die Buchung genehmigt werden, da der 05.01.2016 ja scho wieder für eine Anreise frei ist (war bis jetzt ja nur ein Abreisetag). Oder noch komplexer: Es existert nun eine Buchung vom 01.01.bis 05.01. und eine weitere vom 10.01. bis 15.01. jetzt will jemand vom 05.01. bis 10.01. buchen. Das sollte möglich sein, da Zeitraum dazwischen frei. Andere Buchungen sollten natürlich abgeblockt werden.
Wie schaffe ich dafür eine vernünftige MySQL-Abfrage zu schreiben?
LG
Andi
ich habe mir ein kleines Buchungsscript in PHP geschrieben. Dabei kann mein Kunde eine Buchung über ein Formular eingeben mit An- und Abreisetag. Das Ganze wird dann in eine MySQL Datenbank gespeichert. Die beiden Datum werden als date() gespeichert.
Das funktioniert:
z.B. Anreisetag: 01.01.2016 / Abreisetag 05.01.2016
-> in MySQL als 2016-01-01 und 2016-01-05 gespeichert.
In einem Kalender wird der Zeitraum als gebucht / belegt angezeigt. Der 01.01.2016 und 05.01.2016 werden dabei als "halfdays" angezeigt (ich nenn das jetzt mal so).
Das funktioniert nicht:
Bei einer weiteren Buchung soll abgefragt werden, ob der gewünschte Zeitraum noch frei ist. Dabei, und daran scheitere ich, sollen der Ab- und Anreisetag berücksichtigt werden.
D.h. wenn jetzt z.B. jemand vom 05.01.2016 bis 10.01.2016 buchen will, dann soll die Buchung genehmigt werden, da der 05.01.2016 ja scho wieder für eine Anreise frei ist (war bis jetzt ja nur ein Abreisetag). Oder noch komplexer: Es existert nun eine Buchung vom 01.01.bis 05.01. und eine weitere vom 10.01. bis 15.01. jetzt will jemand vom 05.01. bis 10.01. buchen. Das sollte möglich sein, da Zeitraum dazwischen frei. Andere Buchungen sollten natürlich abgeblockt werden.
Wie schaffe ich dafür eine vernünftige MySQL-Abfrage zu schreiben?
LG
Andi