creativeheadz
Erfahrenes Mitglied
Hallo,
für ein Buchungssystem ist die Tabelle "bookings" wie folgt aufgebaut
Ziel ist eine Abfrage, ob ein Zimmer im gwünschten Zeitraum schon belegt ist oder ob es noch frei ist.
Per POST sende ich Start und End Timestamp und Werte das ganze wie folgt aus.
Ich erhalte keine Fehlermeldung.
Als Ausgabe sollte ich die Anzahl aller Buchungen für dieses Zimmer erhalten. Ist ein Zeitraum noch nicht belegt, sollte eine 0 erscheinen.
Ich erhalte folgende Anzahl an ermittelten Buchungen bei:
09/07/2013 - 09/10/2013 = 1
09/13/2013 - 09/15/2013 = 2
09/11/2013 - 09/12/2013 = 0
Diese Ausgabe ist soweit in Ordnung
Wenn ich beispielsweise folgende Zeiträume Abfrage erhalte ich immer 0
09/06/2013 - 09/10/2013 = 0 müsste eigentlich 1 sein
09/11/2013 - 09/15/2013 = 0 müsste eigentlich 1 sein
09/06/2013 - 09/16/2013 = 0 müsste eigentlich 2 sein
Also immer dann, wenn der Startzeitpunkt und Endzeitpunkt an einem noch nicht belegten Tag ist.
Ich scheine einen Fehler in meinem Query zu haben. Ich weiss nur leider nicht wo bzw. wie ich den Query besser aufbauen sollte.
Ich bitte um Hilfe
Gruß
c
für ein Buchungssystem ist die Tabelle "bookings" wie folgt aufgebaut
Code:
BOOKING_ID | USER_ID | ITEM_ID | TIME_FROM | TIME_TO | HOST_ID
1 1 1 09/07/2013 09/10/2013 2
1 3 1 09/13/2013 09/15/2013 2
Ziel ist eine Abfrage, ob ein Zimmer im gwünschten Zeitraum schon belegt ist oder ob es noch frei ist.
Per POST sende ich Start und End Timestamp und Werte das ganze wie folgt aus.
PHP:
$query = mysql_query("SELECT COUNT(BOOKING_ID) FROM bookings
WHERE
'".$timestamp_from."' BETWEEN TIME_FROM AND TIME_TO
OR '".$timestamp_to."' BETWEEN TIME_FROM AND TIME_TO");
Ich erhalte keine Fehlermeldung.
Als Ausgabe sollte ich die Anzahl aller Buchungen für dieses Zimmer erhalten. Ist ein Zeitraum noch nicht belegt, sollte eine 0 erscheinen.
Ich erhalte folgende Anzahl an ermittelten Buchungen bei:
09/07/2013 - 09/10/2013 = 1
09/13/2013 - 09/15/2013 = 2
09/11/2013 - 09/12/2013 = 0
Diese Ausgabe ist soweit in Ordnung
Wenn ich beispielsweise folgende Zeiträume Abfrage erhalte ich immer 0
09/06/2013 - 09/10/2013 = 0 müsste eigentlich 1 sein
09/11/2013 - 09/15/2013 = 0 müsste eigentlich 1 sein
09/06/2013 - 09/16/2013 = 0 müsste eigentlich 2 sein
Also immer dann, wenn der Startzeitpunkt und Endzeitpunkt an einem noch nicht belegten Tag ist.
Ich scheine einen Fehler in meinem Query zu haben. Ich weiss nur leider nicht wo bzw. wie ich den Query besser aufbauen sollte.
Ich bitte um Hilfe
Gruß
c
Zuletzt bearbeitet: