![]() |
[php]wiederholende Ereignisse im Kalender
Moin,
ich bin dabei einen Kalender mit php/mysql zu schrieben. Ich kann normale Einträge speichern, aber wiederkehrende EInträge bereiten mir Kopfschmerzen. Kann mir da jemand einen Tip geben? Ich hab zur Zeit nur eine Tabelle mit "Datum" und "Eintrag". MfG freak |
Re: [php]wiederholende Ereignisse im Kalender
Naja, erst mal musst du dir nen formalismus schreiben, mit dem du "Am 2. Montag jedes 2. Monats" oder komplizierter ausdrücken kannst.
Und dann solltest du das ganze tagesweise evaluieren - sprich dir für jeden event die frage stellen "findet der heute statt?" |
Re: [php]wiederholende Ereignisse im Kalender
Zitat:
Aber wie speicher ich das in der Datenbank? Muss ich etwa für jeden Montag einen Eintrag erstellen?! Das wird ja riesig. :( Und wenn sich das dann ändert ... :shock: Oder wie macht man das? :gruebel: MfG freak |
Re: [php]wiederholende Ereignisse im Kalender
hab ich doch gerade gesagt :roll:
du speicherst in die datenbank: "findet jeden montag um 8:00 statt" und dann prüfst du für jeden tag deiner monatsansicht die komplette tabelle durch, ob an dem tag einer der events stattfindet. |
Re: [php]wiederholende Ereignisse im Kalender
Konkretes Beispiel:
Problem: Abbildung von Schulblöcke(alle 3 Wochen eine Woche Schule) in meinem Kalender unter berücksichtigung der Ferien. abstarktes Problem: Wiederkehrendes, mehrtägiges Ereignis abbilden, mit Unterbrechungen(Ferien) Wie stellt sich das in mySQL-Tabellen da? :( MfG freak |
Re: [php]wiederholende Ereignisse im Kalender
Ferien speichern, wiederkehrendes Ereignis speichern, Daten verknüpfen...
|
Re: [php]wiederholende Ereignisse im Kalender
Zitat:
MfG freak |
Re: [php]wiederholende Ereignisse im Kalender
OK, Beispiel:
SQL-Code:
Zuerst einmal die Ferien auslesen:
CREATE TABLE events (
event_id MEDIUMINT(8) NOT NULL AUTO_INCREMENT PRIMARY KEY, event_type ENUM('regular', 'holiday') NOT NULL DEFAULT 'regular', event_title VARCHAR(255) NOT NULL, event_in_holidays TINYINT(1) NOT NULL DEFAULT '1', [...] );
SQL-Code:
Die Ferien trägst du dann zuerst mal in deinen Kalender ein bzw. "speicherst" sie sinnvoll. Danach liest du alle anderen Events aus:
SELECT event_title
FROM events WHERE event_type = 'holidays';
SQL-Code:
Vor dem Eintragen jeder dieser Events prüfst du, ob an dem Tag Ferien sind oder nicht, wenn event_in_holidays = 0 ist.
SELECT event_title, event_in_holidays
FROM events WHERE event_type = 'regular'; Eine mehrerer Möglichkeiten... :angel: Du könntest z.B. auch die Ferien in einer separaten Tabelle speichern, vor allem dann, wenn du speziell zu Ferien weitere Eigenschaften angeben willst. |
Alle Zeitangaben in WEZ +1. Es ist jetzt 10:04 Uhr. |
Powered by vBulletin® Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024-2025 by Thomas Breitkreuz