Sandra: Belegungsplan MySql 5 und PHP

Hallo und guten Tag,

ich möchte für die Ferienunterkunft meiner Eltern einen Belegungsplan machen.
Ich stelle mir das wie folgt vor:

In der Datenbank sind z.B. 3 Einträge (Zeilen). Jeder Eintrag enthält einen Anreisetag (date) und ein Abreisetag.

1. 2014-01-03 - 2014-01-08
2. 2014-01-28 - 2014-02-05
3. 2014-02-05 - 2014-02-15

Meine Überlegung ist es, die einzelnen Tage in ein Array zu speichern und später bei der Ausgabe mit PHP zu formatieren. Es gibt aber drei unterschiedliche "Zustände":

  • der 2014-01-03 und der 2014-01-28 sind "Anreisetage"
  • der 2014-01-08 und der 2014-02-15 sind "Abreistage"
  • der 2014-02-05 ist der "Abreistag vom 2. Eintrag" und der "Anreisetag vom 3. Eintrag"

Leider suche ich einen Ansatz um das zu realisieren und würde mich über Anregungen sehr freuen

Grüße

Sandra

  1. Hallo Sandra!

    In der Datenbank sind z.B. 3 Einträge (Zeilen). Jeder Eintrag enthält einen Anreisetag (date) und ein Abreisetag.

    1. 2014-01-03 - 2014-01-08
    2. 2014-01-28 - 2014-02-05
    3. 2014-02-05 - 2014-02-15

    Der An- und Abreisetag ist getrennt abgelegt oder in einem Datenfeld? Ersteres wäre hier sicher von Vorteil. Wenn du An- und Abreisetag in einem Feld abgelegt hast, müsstest du die Daten mit PHP wahrscheinlich in getrennte Werte zerlegen.

    Meine Überlegung ist es, die einzelnen Tage in ein Array zu speichern und später bei der Ausgabe mit PHP zu formatieren. Es gibt aber drei unterschiedliche "Zustände":

    • der 2014-01-03 und der 2014-01-28 sind "Anreisetage"
    • der 2014-01-08 und der 2014-02-15 sind "Abreistage"
    • der 2014-02-05 ist der "Abreistag vom 2. Eintrag" und der "Anreisetag vom 3. Eintrag"

    Leider suche ich einen Ansatz um das zu realisieren und würde mich über Anregungen sehr freuen

    Wenn du für jeden Datensatz neben einem eindeutigen Schlüssel, den An- und Abreisetag sowie weitere buchungsrelevante Daten getrennt abgelegt hast, sollte das kein Problem sein.  Du kannst ja über den Schlüssel zu jedem An- den Abreisetag zuordnen und umgekehrt. Wie du den An- bzw. Abreisetag formatierst, ist ja erstmal unabhängig davon wie die Daten abgelegt sind.

    Wo hängt es denn genau? Wie sieht deine Ausgabe bisher aus?

    Freundliche Grüße
    Kackfohgel

  2. Hallo und guten Tag,

    ich möchte für die Ferienunterkunft meiner Eltern einen Belegungsplan machen.
    Ich stelle mir das wie folgt vor:

    In der Datenbank sind z.B. 3 Einträge (Zeilen). Jeder Eintrag enthält einen Anreisetag (date) und ein Abreisetag.

    Und, wo ist die Objektnummer? Oder gibt es nur eine?
    Besser also:

      
    ID Objekt_ID Anreise       Abreise  
    1  2         2014-01-03    2014-01-08  
    2  3         2014-01-28    2014-02-05  
    3  1         2014-02-05    2014-02-15  
    
    

    Und dann sowas wie das hier

    while($row=mysql_fetch_assoc($result)) {  
       $tag[$row[['anreise']]['Ereignis'][]='Anreise Objekt '.$row['Objekt_ID'];  
       $tag[$row[['anreise']]['Begrüssen'][]=$row['Objekt_ID'];  
       $tag[$row[['abreise']]['Ereignis'][]='Abreise Objekt '.$row['Objekt_ID'];  
       $tag[$row[['abreise']]['Verabschieden'][]=$row['Objekt_ID'];  
    }  
      
    print_r($tag);
    

    Du wirst sehen, ich habe vorsorglich doppelt gemoppelt.

    1. Hallo,

      vielen Dank für die Antwort. Leider ist das nicht das was ich suche.
      Ich möchte mit dem Daten einen Belegunskalender (HTML Tabelle) erstellen.

      • Die Anreisetage sollen einen gelben Hintergrund bekommen
      • Die Abreisetage sollen einen orangen Hintergrund bekommen
      • Die Urlaubstage sollen einen roten Hintergrund bekommen

      Wie kann ich das realisieren?

      Grüße

      Sandra

      1. hi,

        • Die Anreisetage sollen einen gelben Hintergrund bekommen
        • Die Abreisetage sollen einen orangen Hintergrund bekommen
        • Die Urlaubstage sollen einen roten Hintergrund bekommen

        Wie kann ich das realisieren?

        Mit entsprechenden Daten-Feldern für den jeweiligen Zustand einer Belegung, sofern ein An- oder Abreisetag vorgesehen ist. Falls Du das überhaupt brauchst, i.d.R. liegt die Belegung zwischen An- und Abreise, Stichwort between ;)

        Horst

      2. Sandra,

        ich echt macht man das anders.
        man hat üblicherweise ein paar Strings, die Verfügbarkeit, Anreise/Abreise, Mindestaufenhalt für jeden einzelnen Tag abbilden.

        Startdatum = 13.01.2014
        verfügbarkeit = "11121131111112211121" wobei 1=frei, 2=belegt, 3=nur auf Anrage 4=whatever
        anreise = "1110110111111000001" wobei 1=anreise, 0=keine Anreise
        abreise = "1110110111111110001" wobei 1=abreise, 0=keine Abreise
        mindestaufenthalt = "777711170335" wobei jeder Status den Mindestaufenthalt in Tagen beschreibt

        das erste Zeichen jedes Strings ist der 13.01.2014

        " Die Anreisetage sollen einen gelben Hintergrund bekommen

        • Die Abreisetage sollen einen orangen Hintergrund bekommen
        • Die Urlaubstage sollen einen roten Hintergrund bekommen"

        da jeder Tag u.U. An-und Abreisetag  sein kann, könnte man das zum Beispiel mit halbierten Feldern machen.

        tomo

        • Die Anreisetage sollen einen gelben Hintergrund bekommen
        • Die Abreisetage sollen einen orangen Hintergrund bekommen
        • Die Urlaubstage sollen einen roten Hintergrund bekommen

        Du nimmst das Datum des Tages im ISO-Format. z.B. 2014-05-31

        Du schaust nach, ob es $tag['2014-05-31']['Begrüssen'][] gibt und was drin steht. Wenn ja: gelber Hintergrund

        Du schaust nach, ob es $tag['2014-05-31']['Verabschieden'][] gibt und was drin steht. Wenn ja: roter Hintergrund.

        Alles zwischen den beiden: gelber Hintergrund. Nur gibt's da ein Problem mit dem Beginn des "Kalenderblattes". Also frag die Datenbank. between hast Du als Tip bekommen.

        Programmieren, Süße, ist was für ganz sture Idioten, die ganz einfach denken.

        - Also stets Männersache.

        Jörg Reinholz