myCalendar & mehrtägige Events

In diesem Forum können Mod-Autoren ihre Mods vorstellen, die sich noch im Entwicklungsstatus befinden. Der Einbau in Foren im produktiven Betrieb wird nicht empfohlen.
Forumsregeln
phpBB 2.0 hat das Ende seiner Lebenszeit überschritten
phpBB 2.0 wird nicht mehr aktiv unterstützt. Insbesondere werden - auch bei Sicherheitslücken - keine Patches mehr bereitgestellt. Der Einsatz von phpBB 2.0 erfolgt daher auf eigene Gefahr. Wir empfehlen einen Umstieg auf phpBB 3.0, welches aktiv weiterentwickelt wird und für welches regelmäßig Updates zur Verfügung gestellt werden.
Antworten
danzas
Mitglied
Beiträge: 47
Registriert: 13.01.2003 15:47
Wohnort: zw. ffm und köln
Kontaktdaten:

myCalendar & mehrtägige Events

Beitrag von danzas »

Tach zusammen!

Ich muss Euch nun leider doch mal mit meinem 'Problemchen' konfrontieren, da ich da momentan nicht weiterkomme.

Ich nutze eine stark modifizierte Form des myCalendar-Mods für unsere Eventeinträge, zusätzlich habe ich noch Fragmente des Minicalendars eingebunden.

Die Events liegen in einer Tabelle phpbb_mycalendar und beinhalten als zentrale Spalten die topic_id (int) des dazugehörigen Threads, ein cal_date (datetime) mit dem Datum des Events, und ein cal_repeat (int) mit der Anzahl der Tage, die ein Event dauert.

Das Datum liegt in der Form YYYY-MM-DD HH:MM:SS vor. Die Wiederholung (cal_repeat) ist die Anzahl der Tage als Integer-Wert.

Um die aktuelle Eventliste auszugeben, mache ich einen Query über die Kalender- und Thread-Table und nutze als Bedingung die Übereinstimmung mit dem aktuellen Datum. Das Datum lege ich mir als Variable bereit, deren Inhalt identisch mit dem cal_date ist.

Code: Alles auswählen

SELECT t.topic_title, t.topic_desc, c.topic_id from phpbb_topics t, phpbb_mycalendar c WHERE c.cal_date ="' . $cal_date . '" ORDER BY t.topic_title';
Das Problem dabei ist, daß nur die Events des aktuellen Tages ausgegeben werden, nicht aber das repeat-Feld berücksichtigt wird. Hat also ein Event das Datum von gestern, und läuft 3 Tage (repeat = 3), wird es in der Liste nicht aufgeführt.

Nun suche ich einen Query, der mir die Events von heute als auch die aktuell laufenden Events ausgibt.

Aussehen soll es so:
Aktuelle Events:
- Event 1
- Event 2
- Event 3 (läuft seit 2 Tagen)
- Event 4 (läuft seit 3 Tagen)
Event 3 hat also das Startdatum (cal_date) von gestern, und ein cal_repeat >= 2. Event 4 hat das Startdatum von vor 3 Tagen, mit einem cal_repeat >= 3.

Any help -> appreciated. :D

cu
'there is no spoon'
arteck
Mitglied
Beiträge: 33
Registriert: 12.07.2006 22:34
Kontaktdaten:

Beitrag von arteck »

das Problem hab ich auch gehabt...

bin dannmal auf anderen calender umgestiegen
Antworten

Zurück zu „phpBB 2.0: Mods in Entwicklung“