Ich habe mir hier eine Vorlage für einen Kalender heruntergeladen. Jetzt habe ich aber das Problem, dass immer wieder Fehlermeldungen angezeigt werden, und ich die Sache nicht ganz durchblicke. Daher habe ich gehofft, dass mir vielleicht einer von euch helfen könnte...
Danke im Voraus
Allmi02
PHP-Code:
<?php
// Connection zur Datenbank aufbauen
// Müsst ihr halt noch machen
// Zum überprüfen, ob ein Event existiert
function check_event($thisday, $events) {
for ($i = 0; $i <= count($events); $i++) {
if ($events[$i][0] == $thisday['mday'] && $events[$i][1] == $thisday['mon'] && $events[$i][2] == $thisday['year']) {
return $i;
}
}
if ($i == count($events)-1) {
return false;
}
}
define("DAY", (60*60*24));
$today = getdate();
$days = array ("Sunday", "Monday", "Tuesday", "Wednesday", "Thursday", "Friday", "Saturday");
$months = array ("January", "February", "March", "April", "May", "June", "July", "August", "September", "October", "November", "December");
// Hier switch-Anweisung daraus machen, wenn ihr mehrere Monate einfügen wollt.
if (!isset($_GET['next'])) {
$month = $today['mon'];
}
else {
$month = ($today['mon']+1);
}
$start_day_time = mktime (0, 0, 0, $month, 1, $today['year']);
$start_day = getdate($start_day_time);
$sql = "SELECT `month`, `year`, `day` // Die restlichen Spalten - z.B Den Inhalt etc. um den anzuzeigen, wenn man draufklickt
FROM `events`
WHERE `month` = '".$month."'
AND `year` = '".$today['year']."'";
$result = mysql_query($sql) or die (mysql_error());
$i = 0;
while ($row = mysql_fetch_assoc($result)) {
$events[$i] = array ($row['day'], $row['month'], $row['year']);
$i++;
}
if (!isset($_GET['event'])) {
echo "<table border='2' cellspacing='3'>\n";
for ($i = 0; $i <= 6; $i++) {
echo "<th>";
echo $days[$i];
echo "</th>";
}
for ($i = 0; $i < (6*7); $i++) {
$thisday = getdate($start_day_time);
if (($i % 7) == 0 ) {
// Wenn der Monat zuende ist Script beenden (damit kein unnötiges <tr> kommt)
if ($thisday['mon'] != $month) {
break;
}
echo "<tr>\n";
}
// den 1. Monatstag erst anzeigen, wenn der richtige Wochentag gezählt wird, wenn der Monat zuende ist leere Zelle schreiben.
if ($i < $start_day['wday'] || $thisday['mon'] != $month) {
echo "<td></td>\n";
}
// Wenn der Tag im aktuellem Monat ist
else {
$check = check_event($thisday, $events);
if (isset($events[$check][0])) {
if (!isset($_GET['next'])) {
echo "<td><a href='eventcalendar.php?event=".$check."'>".$thisday['mday']." ".$thisday['month']."<br>\n";
}
else {
echo "<td><a href='eventcalendar.php?event=".$check."&next=1'>".$thisday['mday']." ".$thisday['month']."<br>\n";
}
echo $events[$check][3];
echo "</a></td>";
$start_day_time += DAY;
}
else {
echo "<td>".$thisday['mday']." ".$thisday['month']."</td>\n";
$start_day_time += DAY;
}
}
}
echo "</table>\n";
echo "<br>\n";
// Zwischen derzeitigen und nächsten Monat wechseln
if (!isset($_GET['next'])) {
echo "<a href='eventcalendar.php?next=1'>Show next month</a>\n";
}
else {
echo "<a href='eventcalendar.php'>Show current month</a>\n";
}
}
// Wenn ein event angeklickt wurde
else {
if (isset($events[$_GET['event']])) {
// Wichtig
// Inhalt eures Events - Kalender wird ausgeblendet und das Event gezeigt
// Includen könntet ihr auch
// $_GET['event'] steht nicht für die id des Events, sondern für den Index des Arrays
else {
echo "Ungültiges Event!\n";
}
if (isset($_GET['next'])) {
echo "\n<br>\n<a href='eventcalendar.php?next=1'>Back</a>\n";
}
else {
echo "\n<br>\n<a href='eventcalendar.php'>Back</a>\n";
}
}
?>