Seite 1 von 1

myCalendar & mehrtägige Events

Verfasst: 24.07.2006 18:14
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

Verfasst: 24.07.2006 19:05
von arteck
das Problem hab ich auch gehabt...

bin dannmal auf anderen calender umgestiegen