Zack
cookies vader
Hallo,
ich habe mir das Kalender Tutorial von Patrick Kamin durchgelesen und musst leider feststellen das es vom Code her einfach nur grauenhaft ist. Dennoch ist der Aufbau gut und deshalb habe ich diesen auch gleich selbst in die Tat umgesetzt. Jetzt aber stoße ich leider an eine Grenze die ich nicht durchbrechen kann. Also wie gesagt, habe ich den Kalender ähnlich des Tutorials geschrieben:
So weit, so gut. Jetzt zu meinem Problem:
Ich habe in einer Datenbank ein Anfangsdatum und ein Enddatum. Den Zeitraum vom Anfang zum Ende bekomm ich auch ganz leicht raus mit:
Nun möchte ich diesen Zeitraum jetzt in dem Kalender makieren, aber wie? Ein einzelner Tag is ja nicht das Problem, aber sobald der konkrete Zeitpunkt fehlt komm ich nicht weiter. Jeden Tag einzeln speichern geht auch nicht, da sich mehrere Zeiträume durchaus überschreiben können.
Schonmal danke im vorraus, Ra7or.
ich habe mir das Kalender Tutorial von Patrick Kamin durchgelesen und musst leider feststellen das es vom Code her einfach nur grauenhaft ist. Dennoch ist der Aufbau gut und deshalb habe ich diesen auch gleich selbst in die Tat umgesetzt. Jetzt aber stoße ich leider an eine Grenze die ich nicht durchbrechen kann. Also wie gesagt, habe ich den Kalender ähnlich des Tutorials geschrieben:
PHP:
<?php
include "sql.php";
$monats = array("Januar", "Februar", "März", "April", "Main","Juni", "Juli", "August", "September". "Oktober", "November", "Dezember");
$days = array("Montag", "Dienstag", "Mittwoch", "Donnerstag","Freitag", "Samstag", "Sonntag");
// heutiges Datum bekommen
$heute = getdate();
$monat = $heute[mon];
$jahr = $heute[year];
// Zeiger auf den Anfang des Monats setzten
$start = mktime ( 0, 0, 0, $monat, 1, $jahr );
$erster = getdate($start);
/*
Wochentag = $erster[weekday]
Wochentag als Int = $erster[wday]
Monatstag = $erster[mday]
Monat als Zahl = $erster[mon]
Monat als String = $erster[month]
Jahr = $erster[year]
*/
// Array der Wochentag
$weekdays = array("Sonntag", "Montag", "Dienstag", "Mittwoch", "Donnerstag", "Freitag", "Samstag");
// Zählvariable auf 0 um später die Wochentag hochzählen zu können
$i = 0;
echo "<table border=\"1\" width=\"500\">\n";
echo "<tr>\n" .
"<td align=\"center\">\n" .
"<h2>$erster[month]<br/></h2>\n" .
"</td>\n" .
"</tr>\n";
echo "<tr>\n" .
"<td>\n" .
"<table width=\"100%\" border=\"1\">\n" .
"<tr>\n";
foreach ($weekdays as $weekday) // Wochentage einschreiben
{
echo "<td>$weekday</td>";
}
echo "</tr>" .
"<tr>";
for($i; $i< (6*7); $i++) // Tablle aufbauen
{
if ((($i)%7)== 0) // wenn i ein Teiler von 7 ist dann wird eine neue Zeile angefangen
{
echo "</tr>\n<tr>\n";
}
if ($i < $erster[wday] || $erster[mon] != $monat) // wenn der Tag größer ist als die Zählvariable oder
// der Monat des "Zeigers" ungelcih des anzuzeigenden Monats
{
echo "<td><br /></td>\n";
}else{
echo "<td>$erster[mday]</td>\n";
$nextday = $erster[mday]+1;
$start = mktime ( 0, 0, 0, $monat, $nextday, $jahr );
$erster = getdate($start);
}
}
echo "</tr>\n" .
"</table>\n" .
"</td>\n" .
"</tr>\n";
echo "</table>\n"
?>
So weit, so gut. Jetzt zu meinem Problem:
Ich habe in einer Datenbank ein Anfangsdatum und ein Enddatum. Den Zeitraum vom Anfang zum Ende bekomm ich auch ganz leicht raus mit:
PHP:
$sql = "SELECT (UNIX_TIMESTAMP(end) - UNIX_TIMESTAMP(begin)) AS zeitraum FROM kalender";
$result = mysql_query($sql) OR die(mysql_error());
$row = mysql_fetch_assoc($result);
$i =((($row['zeitraum']/60))/60)/24;
Schonmal danke im vorraus, Ra7or.