Zeiträume

Einklappen
X
 
  • Filter
  • Zeit
  • Anzeigen
Alles löschen
neue Beiträge

  • Zeiträume

    Hallo, zusammen,

    ich suche eine elegante Lösung für folgendes Problem:

    Ich bastele gerade an einem Reservierungssystem für ein Bistro.

    Bisher habe ich das Formular, in welches Datum/gewünschter Zeitraum eingetragen werden, die Öffnungszeiten nach Wochentagen und die Anzahl der personen, die an einen bestimmten Tisch passen.

    Jetzt möchte ich die Wunschdaten des users natürlich mit bereits bestehenden Reservierungswünschen abgleichen.

    Wenn das Bistro also an einem Montag von 17:00 - 1:00 geöffnet hat, und jetzt 3 personen reservieren wollen, fallen Zweiertische hinten rüber.

    Also reservieren die 3 einen Tisch für 3< Personen für den Zeitraum von 18:00-20:30, zB.

    So geht das weiter, bis im Zeitraum vom 18-20:30 Uhr alle 3er+ Tische belegt sind. Es geht also an diesem Datum nur noch früher oder später für mehr als 2 personen, naturgemäß wird das Script dann in dieser zeit keinen freien Tisch für 3 Personen finden.

    Ist das der Fall, möchte ich Alternativen vorschlagen, also quasi die 2 Stunden von 18-20:30 Uhr aus dem Zeitraum der Öffnungszeit "ausschneiden", und dem User dann sagen: "Ein Tisch ist von 17-18 Uhr und von 20:30-01:00 verfügbar."

    Wäre toll, wenn jemand dafür einen Codeschnipsel oder eine Idee hätte....

    Hab schon gedacht, anhand der Belegungsdaten Elemente aus einem Array "herauszuschneiden", unter Beibehaltung im obigen Fall von 20:30 und 1:00...

    Geht es eleganter?

    Heißen Dank im Voraus!

    M. Stemberg

  • #2
    was glaube ich nicht mal so schlecht wäre:
    eine graphische ansicht der tische (auf nem art lageplan)
    und dann kann man aus nem drop-down die uhrzeit auswählen und sieht ob zu der zeit der tisch belegt ist, wenn ja wird er dementsprechend markiert.
    ansonsten kann man ihn anklicken und für x personen reservieren.

    Kommentar


    • #3
      Wenn du alle Tischbelegungen mit Anfangs- und Endzeit in der Datenbank hast ist es doch kein Problem diese entsprechend abzufragen oder?
      Die Regeln | rtfm | register_globals | strings | SQL-Injections | [COLOR=silver][[/COLOR][COLOR=royalblue]–[/COLOR][COLOR=silver]][/COLOR]

      Kommentar


      • #4
        Die Belegungen abzufragen ist natürlich kein Problem.

        Ich möchte aber eigentlich die Nichtbelegung.

        Also Öffnungszeit von 17- 01 Uhr, eine Belegung zwischen 18:30 und 20:30, eine weitere von 21 - 22:30.

        Dann suche ich eine Möglichkeit zu sagen, "Tisch ist zwischen 17 und 18.30, 20:30-21 und 22:30 - 01.00 uhr frei."

        Wobei die Zeit von 20:30-21 auch eher unnötig ist...aber vom Prinzip her...

        Kommentar


        • #5
          Naja, vielleicht ein wenig den Grips anstrengen und nach einer Lösung grübbeln. Das einzige Problem welches du hast, ist wohl, dass du keine Lösung vor dir liegen hast!

          Als Billigansatz:
          Pack Zeitpunkte zwischen den Öffnungszeiten in ein Array, getrennt durch ein Intervall, beispielsweise 15 Minuten.
          -> 17:00, 17:15, 17:30,...
          Dann holst du dir alle Zeiten aus der Datenbank und löschst entsprechende Zeiträume wieder aus dem Array.
          Vor der Ausgabe schmeißt du zu kleine Zeiträume noch einmal weg und gibst entsprechend jetzt noch freie Zeiten aus.

          Ist natürlich keine Goldlösung, aber das mal so für 2 Minuten denken nach dem Aufstehen

          Kommentar

          Lädt...
          X