Event-Kalender

Mit dem Event-Kalender können Sie Events (Ereignisse) in einer DB-Tabelle speichern. Die Events werden übersichtlich in einem Kalender angezeigt. Die Navigation des Kalenders läuft vollständig über JavaScript (AJAX), somit ist kein Seitenwechsel notwendig.

Live-Demo - Event-Kalender
Live-Demo - Event-Kalender

Dieser Kalender zeigt alle Tage eines Monats in Form einer Tabelle an. Dabei kann über Buttons zum Vormonat oder kommenden Monat navigiert werden, auch die Auswahl eines bestimmten Wochentags, der Kalenderwoche, Monats oder Jahres ist möglich.

Der Eingetragene Event, die Tagesansicht oder das Kalenderblatt können direkt ausgewählt werden. Ein Journal zeigt alle Events im Kalenderjahr an.

Eigenschaften

Weitere Eigenschaften

Neu

Hinweise zur Installation

Voraussetzung:
Webserver (Linux) mit PHP 7.1 (oder höher), eine MySQL/MariaDB-Datenbank.

Führen Sie folgende Anweisungen nacheinander aus:

  1. In der Datei: verbindung.php tragen Sie Ihre Zugangsdaten (zur Datenbank) ein. Dort sind auch weitere Einstellungen möglich.
  2. Laden Sie alle Dateien auf Ihrem Webserver hoch.
  3. Rufen Sie die Datei: installation.php in Ihrem Browser auf.
  4. Rufen Sie die Datei: demo.htm in Ihrem Browser auf und tragen Sie Ihre ersten Event in den Kalender ein.

Herunterladen: event-kalender.zip

Viel Spaß damit!

In den Kommentaren können Sie Hinweise, Fehler und Verbesserungsvorschläge zum Event-Kalender eintragen.

Tipps

Den Event-Kalender einbinden

Der Kalender lässt sich in jede HTML-Seite einbinden, einfach den Blau hervorgehobenen Text in die Seite einfügen.

<!DOCTYPE html>
<html lang="de">
 <head>
  <meta charset="UTF-8">
  <title>Kalender</title>
  <link rel="stylesheet" href="kalenderstyle.css">
  <script type="text/javascript" src="kalenderscript.js"></script>
 </head>
<body>

<div id="kalender"></div>

</body>
</html>
Den Event-Kalender in ein anderes Verzeichnis einbinden

Die Relativen Pfade anpassen, ausgehend vom aktuellen Verzeichnis in dem der Verweis liegt!

<!DOCTYPE html>
<html lang="de">
 <head>
  <meta charset="UTF-8">
  <title>Kalender</title>
  <link rel="stylesheet" href="deinverzeichnis/event-kalender/kalenderstyle.css">
  <script type="text/javascript" src="deinverzeichnis/event-kalender/kalenderscript.js"></script>
 </head>
<body>

<div id="kalender"></div>

</body>
</html>

In der Datei: kalenderscript.js (Zeile: 18) folgendes anpassen:

const verzeichnis = "deinverzeichnis/event-kalender/";
Die Anmeldung im Event-Kalender
Anmeldung im Event-Kalender
Anmeldung im Event-Kalender (Gif-Animation, ca. 267 kb)
Ein Hintergrundbild für den Event-Kalender

Öffne die Datei: "kalenderstyle.css" und entferne die folgenden CSS-Kommentarzeichen:

/* Kalender */
div#kalender {
 box-shadow: 1px 1px 10px #CFCFCF;
 /*background-image: url(hintergrundbild.jpg);
 background-repeat: No-Repeat;
 background-size: Cover;*/
}

/* Tabelle */
table#kalender {
 font-family: Verdana, Sans-Serif;
 background-color: #F5F5F5;
 border-collapse: Collapse;
 empty-cells: Hide;
 width: 100%;
 /*opacity: 0.85;*/
 cursor: Default;
}
[Bildschirmfoto] 
Der Event-Kalender mit einem Hintergrundbild.
Der Event-Kalender mit einem Hintergrundbild.

Wenn man eine Liste der Events auch auf einer anderen Seite anzeigen möchte, dann sind die folgenden PHP-Scripte hilfreich.

Die Events des aktuellen Monats anzeigen

Dieses Script zeigt die Events des aktuellen Monats an.

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
<?php
// Event-Kalender
// Events des aktuellen Monats anzeigen

include "verbindung.php"// Dateipfad eventuell anpassen

$select $db->query("SELECT `start`, `event`, `beschreibung`
                      FROM `" $TABLE_PREFIX "_kalender`
                      WHERE YEAR(`start`) = YEAR(NOW()) AND
                            MONTH(`start`) = MONTH(NOW())
                      ORDER BY `start` ASC");
$events $select->fetchAll();
foreach (
$events as $event) {
 
sscanf($event["start"], "%4s-%2s-%2s %5s"$dbJahr$dbMonat$dbTag$dbUhr);
 echo 
'<p>$dbTag '.' $dbMonat '.' $dbJahr '&emsp;$dbUhr ' Uhr - ' .
 
$event["event"] . '<br>$event["beschreibung"] . '</p>';
}
?>
Aktuelle Events anzeigen

Hier können Sie selbst die Anzahl der Events bestimmen die angezeigt werden soll.

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
<?php
// Event-Kalender
// Aktuelle Events anzeigen (mit Beschreibung)

include "verbindung.php"// Dateipfad eventuell anpassen

$anzahl 12// Anzahl
$select $db->query("SELECT `start`, `event`, `beschreibung`
                      FROM `" $TABLE_PREFIX "_kalender`
                      WHERE `start` >= NOW()
                      ORDER BY `start` ASC
                      LIMIT " $anzahl);
$events $select->fetchAll();
foreach (
$events as $event) {
 
sscanf($event["start"], "%4s-%2s-%2s %5s"$dbJahr$dbMonat$dbTag$dbUhr);
 echo 
'<p>$dbTag '.' $dbMonat '.' $dbJahr '&emsp;$dbUhr ' Uhr - ' .
 
$event["event"] . '<br>$event["beschreibung"] . '</p>';
}
?>
Events der nächsten 31 Tage

Immer Aktuell, die Events der nächsten 31 Tage (individuell einstellbar).

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
<?php
// Event-Kalender
//  Events der nächsten 31 Tage (individuell einstellbar).

include "verbindung.php"// Dateipfad eventuell anpassen

$tage 31// Tage
$select $db->query("SELECT `start`, `event`, `beschreibung`
                      FROM `" $TABLE_PREFIX "_kalender`
                      WHERE (TO_DAYS(`start`) - TO_DAYS(NOW())) >= 0 AND (TO_DAYS(`start`) - TO_DAYS(NOW())) <= " $tage "
                      ORDER BY `start` ASC");
$events $select->fetchAll();
foreach (
$events as $event) {
 
sscanf($event["start"], "%4s-%2s-%2s %5s"$dbJahr$dbMonat$dbTag$dbUhr);
 echo 
'<p>$dbTag '.' $dbMonat '.' $dbJahr '&emsp;$dbUhr ' Uhr - ' .
 
$event["event"] . '<br>$event["beschreibung"] . '</p>';
}
?>

Event-Kalender als APP installieren Voraussetzung: Windows 10 und Microsoft Edge (Chromium).
  1. Die Datei: "demo.htm" mit CSS anpassen.
    <style>
    body {
     margin:  0 0 850px 0;
    }
    
    div#kalender {
     box-shadow: unset;
    }
    </style>
  2. Ein Icon für die App erstellen - Favicon erstellen
    <link rel="SHORTCUT ICON" href="icon.ico" type="image/x-icon"> zwischen <head> und </head> einfügen.
  3. Datei speichern.
  4. Browser: Microsoft Edge (Chromium) öffnen und die Datei in der Adresszeile aufrufen.
  5. Im Menü folgendes auswählen:
  6. Fertig
Einen Wochentag im Kalender farbig hervorheben

Die folgende CSS-Anweisung hebt die Wochentage Samstag und Sonntag hervor:

.Samstag,
.Sonntag {
 background-color: #FF9595 !important;
}
Einen Wochentag im Kalender farbig hervorheben

Um den 10 Monatstag hervorzuheben genügt folgende Anweisung:

#n10 {
 background-color: #FF9595 !important;
}