Terminvergabe prüfen

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

  • Terminvergabe prüfen

    Hallo zusammen,

    ich habe folgendes Problem:
    Ich bin gerade dabei eine Raumverwaltung zu programmieren (MSSQL und PHP).
    Jetzt ist folgendes problem aufgetreten.
    Mit folgender SQL Anweißung will ich überprüfen ob ein Raum zu dieser Zeit schon vergeben ist.

    PHP-Code:

    IF EXISTS(SELECT Termin_ID FROM Termin WHERE 
    Datum 
    '23.08.2004' 
    AND
    Raum_ID 12 
    AND 
    (
    '$_POST[Uhrzeit_beginn]' between Uhrzeit_beginn AND Uhrzeit_ende
    OR
    (
    '$_POST[Uhrzeit_ende]' between Uhrzeit_beginn AND Uhrzeit_ende))
    PRINT 
    'Termin breits vergeben'
    ELSE 
    Insert Into 
    Diese Funktion funktioniert leider nur bedingt.
    Beispiel:
    Es liegt ein Termin für diesen Raum und dieses Datum zur Uhrzeit 12:00 - 13:00 Uhr an.

    Wird jetzt ein Termin angelegt der von 11:45 - 13:30Uhr liegen soll sind beide Zeiten außerhalb
    von 12:00 - 13:00 Uhr. Somit wird der Termin angelegt obwohl der Raum bereits belegt ist.

    Hat jemand eine Lösung die funktioniert? Ich komme einfach nicht weiter.

  • #2
    MSSQL sollte doch auch die differenz zwischen zwei datumsangaben berechnen können oder?

    start: 16:00
    ende: 19:00

    belegt von: 16:30
    belegt bis: 17:30

    differenz start - ende: 3
    differenz start - belegt von: 0.5

    => da knallt's
    Ich denke, also bin ich. - Einige sind trotzdem...

    Kommentar


    • #3
      Kannst du das Beispiel noch ein wenig ausweiten?

      z.B. Code Beispiel

      es hört sich nämlich gut an nur leider blicke ich noch nicht so ganz durch!

      Vielen Dank

      Kommentar


      • #4
        Original geschrieben von Orben
        Kannst du das Beispiel noch ein wenig ausweiten?

        z.B. Code Beispiel

        es hört sich nämlich gut an nur leider blicke ich noch nicht so ganz durch!

        Vielen Dank
        @happy hat schon gezeigt wie man zusätzlich prüfen soll/kann, wo ist das Problem? mit DATEDIFF kannst du die Differenz ausrechnen.

        Kommentar

        Lädt...
        X