Serientermine
Andreas
- php
Hallo,
habe ein Terminkalender in PHP und möchte eine Serientermin-Funktion dazu realisieren ähnlich Outlook.
Die ganzen automatisch ergänzten Termine bis zum St. Nimmerleinstag in die Tabelle Einzutragen ist ja nicht der beste Weg.
Also die Terminvorgaben in einer extra Tabelle speichern - aber wie?
Ich denk mir dass diese Termine dann erst beim Anzeigen des Kalenders in diesen eingefügt werden. Aber das scheint mir doch eine recht komplexe Sache zu sein.
Gibts zu diesem Thema schon Scripte oder was? Habe jedenfalls nichts gefunden.
Gruß Andreas
Hello,
habe ein Terminkalender in PHP und möchte eine Serientermin-Funktion dazu realisieren ähnlich Outlook.
Kenne ich nicht [*]
Die ganzen automatisch ergänzten Termine bis zum St. Nimmerleinstag in die Tabelle Einzutragen ist ja nicht der beste Weg.
Wie ist es denn im wahren Leben?
Könnte man da 'was abgucken?
[*] Wenn es um neue Lösungswerge geht ...
Harzliche Grüße vom Berg
http://bergpost.annerschbarrich.de
Tom
Hallo...
habe ein Terminkalender in PHP und möchte eine Serientermin-Funktion dazu realisieren ähnlich Outlook.
Die ganzen automatisch ergänzten Termine bis zum St. Nimmerleinstag in die Tabelle Einzutragen ist ja nicht der beste Weg.
Also die Terminvorgaben in einer extra Tabelle speichern - aber wie?
Eventuell so:
Startdatum - Intervall(e) - optionaler Enddatum
Also wenn am 4. November 2007 etwas beginnt und es alle 7 Tage stattfinden soll bis zum 4. November 2008 solange den Intervall dazu addieren bis der Enddatum erreicht ist, ansonsten immer
Grüße Helmut
Hallo,
es ist nicht notwendig jeden Termin in die Datenbank einzutragen, das währen auch ein paar zuviel :-)
Am einfachsten ist es, wenn du bestimmte Regeln erstellst und diese dann mit PHP umsetzt.
Mögliche Regeln währen z.B.
Jeden Donnerstag.
Alle 2 Wochen immer Montag und Donnerstag.
Das ganze kann recht umfangreich werden, je nachdem wie genau die die Regeln erstellen möchtest.
Weiters ist noch zu überlegen, wie du Termine handhabst, die sich verschieben oder ausfallen.
Leider ist mir auch kein Script bekannt, mit dem es möglich ist.
Wenn du aber halbwegs gut PHP kannst wird das Problem in ein paar Tagen zu lösen sein. Das schwierigste ist sich zu überlegen wie man die Regeln strukturiert, um diese dann auch weiterzuverarbeiten. Dafür ist es notwendig einen kleinen Parser zu programmieren.
Beispiele:
Syntax: serie(wochentage; wochen; anfangsdatum; enddatum; [ausnahmen])
serie(do;1;2007-11-01;2008-04-01)
Jeden Donnerstag vom 1. November 2007 bis 1. April 2008
serie(mo,mi,fr;2;2007-11-01;2008-04-01)
Jden Montag, Mittwoch, Freitag alle 2 Wochen vom 1. November 2007 bis 1. April 2008
serie(do;1;2007-11-01;2008-04-01;2007-11-22,2007-11-29)
Jeden Donnerstag ausser am 22. und 29. November 2007
Das ganze gehört noch um Uhrzeit und Ganztags ergänzt. Für den Anfang sollte dir das aber genug Ideen für dein Programm liefern.
Das ganze kannst du dann leicht mit den Arrayfunktionen von PHP "parsen" und in deinem Programm umsetzen.
mfg Gerhard
Hello,
Am einfachsten ist es, wenn du bestimmte Regeln erstellst und diese dann mit PHP umsetzt.
Mögliche Regeln währen z.B.
Jeden Donnerstag.
Alle 2 Wochen immer Montag und Donnerstag.
Derartige Vorgehensweise hat dann aber auch Einfluss auf sämtliche Abfragemethoden die es gibt:
Wieviele Termien hat Herr Müller?
Wer ist wann in welchem Raum?
Wann brauche ich das Auto?
Usw.
Je nachdem, wie der Kalender abgefragt werden soll und was er sonst noch enthält, kommen betroffene Methoden hinzu oder fallen weg.
Eine linearisierte Verwaltung ist daher wesentlich einfacher. Und auf die paar Bytes für die Termin-ID kommt es doch auch nicht mehr an
Terminart Termin Kalender
ID_ART ID_Termin ID_Eintrag
Einzel ID_Art ID_Termin
Serie Subject ID_Person
... Beginn
Dauer
Es können sich ja auch durchaus termin in der Vormerkung überschneiden.
Das ergibt sich nachher erst bei der Auswertung, welcher dann effektiv werden soll
Harzliche Grüße vom Berg
http://bergpost.annerschbarrich.de
Tom
Hallo
die Termine sind nicht personalisiert - ist Terminkalender des Vereins.
Die Serientypen sind ja bekannt, also z.B. bestimmter Wochentag oder bestimmte Position eines Wochentags im Monat (z.B. letzter Freitag im Monat)
Die Tabelle würde dann so aussehen:
Position Wochentag Bezug Start Ende(Dauer)
jeden Dienstag Woche 10.11.07 09.11.08
erster Freitag Monat 10.11.07 09.05.08
zweiter " " " "
dritter " " " "
letzter " " " "
Bzw. halt die ID der Werte in Detailtabellen statt Klartext.
Was meint ihr, würde das so funktionieren?
Gruß Andreas