Roy-Udo: Hilfe bei Belegungsplan - Script

Hi,
ich bin gerade dabei einen Belegungsplan - Script zu schreiben. Hierbei kann man über ein Formular zwei Datumsangaben machen wie z.B.: vom 07.12.2010 bis 10.12.2010. Alles in dem Zeitraum wird Markiert und in der DB gespeichert.

Allerdings soll eine Doppelbelegung nicht möglich sein. Und hierbei brauche ich hilfe.

Was kann ich machen, dass es eine Fehlermeldung gibts, wenn min. ein Tag doppel belegt ist.

Vielen Dank für eure Hilfe.

Roy-Udo Heim

  1. Hallo

    ich bin gerade dabei einen Belegungsplan - Script zu schreiben. Hierbei kann man über ein Formular zwei Datumsangaben machen wie z.B.: vom 07.12.2010 bis 10.12.2010. Alles in dem Zeitraum wird Markiert und in der DB gespeichert.

    Allerdings soll eine Doppelbelegung nicht möglich sein. Und hierbei brauche ich hilfe.

    Dazu muss nicht der Zeitraum, sondern jedes Datum (evtl. verknüpft mit einem Platz (z.B. Raum)) mitgespeichert werden (07.12.2010|Raum2, 08.12.2010|Raum2, 09.12.2010|Raum2, 10.12.2010|Raum2). So kannst du immer ermitteln, ob ein Platz zu einem bestimmten Datum bereits belegt ist.

    Z.B. mit MySQL kannst du mehrere Felder gemeinsam (hier Datum und Raum) eines Eintrags UNIQUE machen. Die Datenbank wird bei einer Doppelung eine passende Meldung zurückgeben, die du dann auswerten musst.

    Tschö, Auge

    --
    Verschiedene Glocken läuteten in der Stadt, und jede von ihnen vertrat eine ganz persönliche Meinung darüber, wann es Mitternacht war.
    Terry Pratchett, "Wachen! Wachen!"

    ie:{ fl:| br:> va:) ls:[ fo:) rl:( ss:| de:> js:| zu:}

    Veranstaltungsdatenbank Vdb 0.3

    1. Hello,

      Dazu muss nicht der Zeitraum, sondern jedes Datum (evtl. verknüpft mit einem Platz (z.B. Raum)) mitgespeichert werden

      Dass das betroffene Objekt mitgespeichert werden muss, da gebe ich Dir Recht. Aber es reicht vollkommen, einen Zeitraum "Start" bis "Ende" zu speichern.

      Die Überlappung kann beim Eintragungsversuch sicher verhindert werden von der Datenbank.
      http://forum.de.selfhtml.org/archiv/2010/11/t201483/#m1359310

      Liebe Grüße aus dem schönen Oberharz

      Tom vom Berg

      --
       ☻_
      /▌
      / \ Nur selber lernen macht schlau
      http://bergpost.annerschbarrich.de

      1. Hi Tom.

        Aber es reicht vollkommen, einen Zeitraum "Start" bis "Ende" zu speichern.

        ACK, und das ist unter Umstaenden auch notwendig. Wenn man nur die einzelnen Tage speichert, dann geht Information ueber die Laengen der Reservierungen verloren. Zwei aufeinander folgende Reservierungen derselben Person (ggf. in demselben Raum) waeren nicht von einer zu unterscheiden, was je nach genauem Zweck des Ganzen wahrscheinlich schlecht ist.

        Das koennte man natuerlich auch anders loesen. Man sollte nur nicht vergessen, es zu loesen.

        Viele Gruesse,
        der Bademeister

        1. Hello,

          Aber es reicht vollkommen, einen Zeitraum "Start" bis "Ende" zu speichern.

          ACK, und das ist unter Umstaenden auch notwendig. Wenn man nur die einzelnen Tage speichert,

          Wieso? Hast Du dir meine Lösung nicht angeschaut? Die funktioniert sekundengenau. Es wird der Spaltentyp datetime verwendet, der das leistet.

          dann geht Information ueber die Laengen der Reservierungen verloren.

          eben gerade nicht. Die kannst Du auf die Sekunde genau bestimmen.

          Zwei aufeinander folgende Reservierungen derselben Person (ggf. in demselben Raum) waeren nicht von einer zu unterscheiden, was je nach genauem Zweck des Ganzen wahrscheinlich schlecht ist.

          Das ist auch nicht wahr. Leider ganz im Gegenteil. Man müsste sich einen Algorithmus überlegen, mit dem man direkt aufeinanderfolgende Buchungen eines Auftraggebers zu einem Objekt bei Bedarf zu einer Buchung zusammenfassen kann. Man müsste also auch eine Möglichkeit schaffen, Lücken zwischen zwei Buchungen einer Person zu einem Objekt zu sperren, wenn es praxisgerecht bleiben soll.

          Da darf zwischendurch nur die Putzkolonne mal rein ;-))

          Liebe Grüße aus dem schönen Oberharz

          Tom vom Berg

          --
           ☻_
          /▌
          / \ Nur selber lernen macht schlau
          http://bergpost.annerschbarrich.de

          1. Hi.

            Wieso? Hast Du dir meine Lösung nicht angeschaut?

            Was ich zu sagen versuchte: Die von Dir vorgeschlagene Loesung ist besser, die von *Auge* hat das angesprochene Problem. Hab ich das nicht?

            Vielleicht haette ich auf Auge antworten sollen.

            Viele Gruesse,
            der Bademeister

            1. Hello,

              Wieso? Hast Du dir meine Lösung nicht angeschaut?

              Was ich zu sagen versuchte: Die von Dir vorgeschlagene Loesung ist besser, die von *Auge* hat das angesprochene Problem. Hab ich das nicht?

              Vielleicht haette ich auf Auge antworten sollen.

              Ja :-)

              Mich wundert nur immer, dass hier Leute Aufgaben hinterlassen und sich dann überhaupt nicht wieder melden. Insbesondere dann, wenn die Latenz > 1 Stunde ist.

              Liebe Grüße aus dem schönen Oberharz

              Tom vom Berg

              --
               ☻_
              /▌
              / \ Nur selber lernen macht schlau
              http://bergpost.annerschbarrich.de

            2. Hallo

              Wieso? Hast Du dir meine Lösung nicht angeschaut?

              Was ich zu sagen versuchte: Die von Dir vorgeschlagene Loesung ist besser, die von *Auge* hat das angesprochene Problem. Hab ich das nicht?

              Das Problem ließe sich auch bei meiner Lösung umgehen, indem man eine ID für die Reservierung vergibt und bei den Daten für die Termine hinterlegt. Da es aber bessere Vorschläge gibt, ist das konkret eines, nämlich: Wurscht.

              Vielleicht haette ich auf Auge antworten sollen.

              Hättest du wohl sollen. Ich habe, im Gegensatz zu Tom, mich als den Adressaten deiner Worte allerdings sofort identifiziert. :-)

              Tschö, Auge

              --
              Verschiedene Glocken läuteten in der Stadt, und jede von ihnen vertrat eine ganz persönliche Meinung darüber, wann es Mitternacht war.
              Terry Pratchett, "Wachen! Wachen!"

              ie:{ fl:| br:> va:) ls:[ fo:) rl:( ss:| de:> js:| zu:}

              Veranstaltungsdatenbank Vdb 0.3

          2. Hi!

            Zwei aufeinander folgende Reservierungen derselben Person (ggf. in demselben Raum) waeren nicht von einer zu unterscheiden, was je nach genauem Zweck des Ganzen wahrscheinlich schlecht ist.

            Das ist auch nicht wahr. Leider ganz im Gegenteil. Man müsste sich einen Algorithmus überlegen, mit dem man direkt aufeinanderfolgende Buchungen eines Auftraggebers zu einem Objekt bei Bedarf zu einer Buchung zusammenfassen kann.

            Mit Normalisierung erledigte sich dieses Problem von selbst. Wenn eine Reservierung drei Zeiteinheiten lang ist, wird man kaum drei Datensätze haben, in denen redundant die allgemeinen Daten der Reservierung stehen, sondern eine Tabelle für die Reservierung an sich und eine weitere mit je einem Datensatz pro belegter Zeiteinheit (inklusive Referenz auf den Reservierungsdatensatz).

            Aber wie schon festgestellt, mit der Von-bis-Lösung bekommt man das auch sehr gut in einer Tabelle und ohne Redundanzen hin.

            Lo!

  2. Hello,

    ich bin gerade dabei einen Belegungsplan - Script zu schreiben. Hierbei kann man über ein Formular zwei Datumsangaben machen wie z.B.: vom 07.12.2010 bis 10.12.2010. Alles in dem Zeitraum wird Markiert und in der DB gespeichert.

    Allerdings soll eine Doppelbelegung nicht möglich sein. Und hierbei brauche ich hilfe.

    Was kann ich machen, dass es eine Fehlermeldung gibts, wenn min. ein Tag doppel belegt ist.

    Dazu müsstest Du nur im Archiv unter "Terminverwaltung" suchen und würdest in dem Thread, den Du dann findest, alles vorgekaut und erklärt bekommen.

    Und wenn Du dann noch eine Anzeige für die Termine haben möchtest, die habe ich auch schon fertig.
    Ich trinke Hefeweizen ;-P

    Termine threadsicher in Datenbank eintragen:
    http://forum.de.selfhtml.org/archiv/2010/11/t201483/#m1359235

    Liebe Grüße aus dem schönen Oberharz

    Tom vom Berg

    --
     ☻_
    /▌
    / \ Nur selber lernen macht schlau
    http://bergpost.annerschbarrich.de