Belegungsplan MySql 5 und PHP
Sandra
- datenbank
0 Kackfohgel0 Jörg Reinholz0 Sandra0 hotti0 tomo0 Jörg Reinholz
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":
Leider suche ich einen Ansatz um das zu realisieren und würde mich über Anregungen sehr freuen
Grüße
Sandra
Hallo Sandra!
In der Datenbank sind z.B. 3 Einträge (Zeilen). Jeder Eintrag enthält einen Anreisetag (date) und ein Abreisetag.
- 2014-01-03 - 2014-01-08
- 2014-01-28 - 2014-02-05
- 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
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.
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.
Wie kann ich das realisieren?
Grüße
Sandra
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
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