[PHP]Kalender für wiederkehrende Ereignisse gesucht!

insane42

Lieutenant
Registriert
Sep. 2004
Beiträge
726
Hallo!
Ich suche ein PHP Kalenderscript, aber ein spezielles. Man sollte wiederkehrende Ereignisse eintragen können.

Z.b. vom 01.01.2005 bis 31.07.2005 soll jeden 4. Freitag im Monat was stattfinden.

Hab in den ganzen Scriptsammlungen nix gefunden *sniff*

Kennt jemand einen Kalender der sowas kann?

Ich hab zwar ein paar PHP Grundkenntnisse, aber ich wüsste jetzt keinen Weg wie ich sowas selber programmieren kann
 
Also grundsätzlich sollte das machbar sein.
Bei Sachen wie „jeder zweite Donnerstag im Monat“ kann man auch mit einigen Rechenoperationen zum Erfolg kommen.
Jeder Wochentag hat eine spezielle Nummer, Donnerstag wäre bei date("w") die 5. Falls diese Bedingung dann zutrifft, wäre noch zu prüfen, der wievielte Donnerstag es ist. Dazu prüfst du einfach, die wie vielte Woche des Monats gerade durchlaufen wird. Das lässt sich z.B. einfach so prüfen:
PHP:
<?php
$woche = floor ( ( ( date("d") -1 ) / 7 ) ) + 1;
?>
Desweiteren musst du dich dann halt auf ein Format festlegen. Du könntest die Ereignisse ja in einer MySQL-Tabelle speichern. Die verschiedenen Spalten würde ich bei diesem Beispiel ungefähr so definieren:
Code:
CREATE TABLE `kalender` (
`event_id` INT( 16 ) NOT NULL AUTO_INCREMENT ,
`event_name` VARCHAR( 255 ) NOT NULL ,
`event_wiederkehrend` INT( 1 ) DEFAULT '0' NOT NULL ,
`event_wk_zahl` INT( 16 ) ,
`event_wk_typ` VARCHAR( 255 ) ,
`event_wk_wert` VARCHAR( 255 ) ,
`event_gueltig_beginn` BIGINT,
`event_gueltig_ende` BIGINT,
PRIMARY KEY ( `event_id` )
);

+----------+------------+---------------------+---------------+--------------+---------------+----------------------+--------------------+
| event_id | event_name | event_wiederkehrend | event_wk_zahl | event_wk_typ | event_wk_wert | event_gueltig_beginn | event_gueltig_ende |
+----------+------------+---------------------+---------------+--------------+---------------+----------------------+--------------------+
|        1 | Skatrunde  |                   1 |             2 | Wochentag    | 6             |           1104534000 |         1167606000 |
+----------+------------+---------------------+---------------+--------------+---------------+----------------------+--------------------+


In diesem Datensatz würde die Skatrunde jedem 2. Wochentag (jede 2. Woche ist damit gemeint),
der die Nr. 6 hat (Freitag), stattfinden. Das könnte man z.B. mit der Wochennummer
prüfen (gerade/ungerade usw.).
Die wk_zahl stellt dabei den Zahlenwert dar. Also z.B. bei jedem 5. des Monats wäre es dann die "5", bei jedem 3. Freitag wäre es die "3".
Der wk_typ ist halt im ersten Beispiel "Monat", im zweiten "Wochentag".
Falls man z.B. Wochentag angibt, muss man halt als Erweiterung angeben, welchen man denn meint. Das kann dann in event_wk_wert gesetzt werden.

Also das mal so als Gedankenansatz. Wie du es genau machst, bleibt dir überlassen. Möglich ist es aber auf jeden Fall.
 
Zuletzt bearbeitet:

Ähnliche Themen

F
Antworten
1
Aufrufe
1.820
Zurück
Oben