Guten Tag Leute,
Ich bin neu hier im Forum und ich hoffe ganz stark auf eure Hilfe.
Ich muss für die Schule ein Projekt machen , jedoch habe ich keine Ahnung wie ich SQL Abfrage formulieren soll. Es soll ein Buchungssystem für ein Hotel werden. Wenn ich das Thema im falschen Bereich gemacht habe , dann bitte ich darum,dass das Thema verschoben wird .
So ist meine Datenbank aufgebaut :
Tabelle "reservierung"
Spalten "Buchungsnr" "Reservierungsnr" "Gastnr" "Anreise" "Abreise" "Zimmerid"
Tabelle "zimmer"
Spalten "Zimmerid" "Kategorie" "Eigenschaften"
Tablle "Kategorie"
Spalten "Kategorienr" "Preis" "Kategorie"
Es soll auf der ersten Seite eingegegeben werden wann man anreist , wann man abreist , personen und wieviele Zimmer man haben will.
Meine Abfrage habe ich so gemacht :
Vergeblich bekomme ich auf der nächsten Seite die Zimmer ausgegegeben die in der reservierungs Tabelle stehen.
Um es besser zu erklären hier ein Beispiel :
Wie kann ich machen , dass das Zimmer 783 nicht mehr angezeigt wird auf der nächsten Seite ?
Ich danke schonmal im Vorraus für eure Hilfe
- Nickalaschka
Ich bin neu hier im Forum und ich hoffe ganz stark auf eure Hilfe.
Ich muss für die Schule ein Projekt machen , jedoch habe ich keine Ahnung wie ich SQL Abfrage formulieren soll. Es soll ein Buchungssystem für ein Hotel werden. Wenn ich das Thema im falschen Bereich gemacht habe , dann bitte ich darum,dass das Thema verschoben wird .
So ist meine Datenbank aufgebaut :
Tabelle "reservierung"
Spalten "Buchungsnr" "Reservierungsnr" "Gastnr" "Anreise" "Abreise" "Zimmerid"
Tabelle "zimmer"
Spalten "Zimmerid" "Kategorie" "Eigenschaften"
Tablle "Kategorie"
Spalten "Kategorienr" "Preis" "Kategorie"
Es soll auf der ersten Seite eingegegeben werden wann man anreist , wann man abreist , personen und wieviele Zimmer man haben will.
Meine Abfrage habe ich so gemacht :
PHP-Code:
$reservierung_abfrage = "SELECT * FROM reservierung AS re
INNER JOIN zimmer AS zi ON re.Zimmerid = zi.Zimmerid
where NOT ('$ankunft' = Anreise or '$ankunft' > Anreise and '$ankunft' < Abreise
or '$abreise' > Anreise and '$abreise' < Abreise
or Anreise between $ankunft and $abreise)";
Um es besser zu erklären hier ein Beispiel :
In der Datenbankt steht ein Zimmer in der Reservierungstablle 3x vergeben an verschiedenen Zeitpunkten mit der Zimmernr 783.
Nehmen wir mal an vom 13.06.2014 - 15.06.2014 und vom 16.06.2014 - 18.06.2014 und vom 20.06.2014 - 23.06.2014 ist das Zimmer ausgebucht.
Ich gebe auf der index.html folgendes Datum ein :
(anreisedatum)13.06.2014 und (abreisedatum) 15.06.2014.
Ich erhalte dann trz Einträge vom Zimmer 783
vom 16.06.2014 - 18.06.2014 und vom 20.06.2014 - 23.06.2014
Nehmen wir mal an vom 13.06.2014 - 15.06.2014 und vom 16.06.2014 - 18.06.2014 und vom 20.06.2014 - 23.06.2014 ist das Zimmer ausgebucht.
Ich gebe auf der index.html folgendes Datum ein :
(anreisedatum)13.06.2014 und (abreisedatum) 15.06.2014.
Ich erhalte dann trz Einträge vom Zimmer 783
vom 16.06.2014 - 18.06.2014 und vom 20.06.2014 - 23.06.2014
Ich danke schonmal im Vorraus für eure Hilfe
- Nickalaschka
Kommentar