Hallo,
ich hab hier ein riesen Problem und weiß nicht an was es liegt. Ich habe einen Kalender geschrieben und habe das mit dem Skript unten gemacht. Bisher hat eigentlich alles funktioniert, jetzt habe ich gesehen, daß im Oktober jeweils der letzte Sonntag doppelt dargestellt wird. Egal welches Jahr ich auswähle, es ist immer der letzte Sonntag. Hoffentlich könnt ihr mir helfen, ich finde den Fehler nicht. Hier der Quellcode:
list($jahr,$monat,$tag) = split ("-", $datum);
$start_kommentar = mktime ( 0, 0, 0, $monat, 1, $jahr );
$kommentarArr = getdate($start_kommentar);
for ( $zaehler=0; $zaehler < (6*7); $zaehler++ ) {
$tagArr = getdate( $start_kommentar );
if ( (($zaehler) % 7) == 0 ) {
if ( $tagArr[mon] != $monat )
break;
}
if ( $zaehler < $kommentarArr[wday] || $tagArr[mon] != $monat ) {
}
else {
$tag_zahl = $tagArr[mday];
if ($tag_zahl < 10) {
$tag_zahl = "0" . $tag_zahl;
}
$monat_zahl = $tagArr[mon];
if ($monat_zahl < 10) {
$monat_zahl = "0" . $monat_zahl;
}
$tag = wochentag($tagArr[wday]);
$datum_neu = $jahr . "-" . $monat_zahl . "-" . $tag_zahl;
if ($tag=="Sa" or $tag=="So") {
echo "\t<tr>";
echo "<td bgcolor='#C0C0C0' valign='top'>$tag</td><td bgcolor='#C0C0C0' valign='middle'>$tag_zahl.$monat_zahl</td>";
} elseif ($feiertage[$datum_neu]==1) {
echo "\t<tr>";
echo "<td bgcolor='#ACBF2E' valign='top'>$tag</td>";
echo "<td bgcolor='#ACBF2E' valign='top'>$tag_zahl.$monat_zahl</td>";
echo "</tr>\n";
} elseif ($urlaubstage[$datum_neu]==1) {
echo "\t<tr>";
echo "<td bgcolor='#AA000C' valign='top'>$tag</td>";
echo "<td bgcolor='#AA000C' valign='top'>$tag_zahl.$monat_zahl</td>";
} else {
echo "\t<tr>";
echo "<td valign='top'>$tag</td>";
echo "<td valign='top'>$tag_zahl.$monat_zahl</td>";
$start_kommentar += EINTAG;
}
}