Ich wollte einen Kalender Programmieren und bin auch soweit fertig, nur ist bei mir jeder erste Tag im Monat auf den freitag gefallen und ich finde einfach den Fehler nicht...
PHP-Code:
<?php
//übergabe der Parameter über die URL mittels GET
$jahr=$_GET[year];
$monat=$_GET[month];
//setzen des Wertes $tag, damit dieser bei 1 anfaengt
$tag="1";
?>
<head>
<title>
Reservierungen für
<?php
//Austausch des Monats von einer Zahl zu einem Ausgeschriebenen deutschen Monat
$monat2=$_GET[month];
switch($monat2){
case "1": $monat2="Januar"; break;
case "2": $monat2="Februar"; break;
case "3": $monat2="Maerz"; break;
case "4": $monat2="April"; break;
case "5": $monat2="Mai"; break;
case "6": $monat2="Juni"; break;
case "7": $monat2="Juli"; break;
case "8": $monat2="August"; break;
case "9": $monat2="September"; break;
case "10": $monat2="Oktober"; break;
case "11": $monat2="November"; break;
case "12": $monat2="Dezember"; break;
}
//Ausgabe der Überschrift für die Titelleiste als Monat (ausgeschrieben und deutsch)
echo($monat2);
//mit Leerzeichen
echo " ";
//und dem Jahr
echo($_GET[year]);
?>
</title>
</head>
<body>
<DIV align="center">
<h1>
<?php
//Ausgabe der Überschrift
echo($monat2);
echo " ";
echo($_GET[year])
?>
</h1>
<p>
<!--Erstellen der Tabellenüberschrift-->
<table Border=1>
<tr>
<td>
MONTAG
</td>
<td>
DIENSTAG
</td>
<td>
MITTWOCH
</td>
<td>
DONNERSTAG
</td>
<td>
FREITAG
</td>
<td>
SAMSTAG
</td>
<td>
SONNTAG
</td>
</tr>
<tr>
<?php
//Zaehler wird auf Null gesetzt
$zaehler=0;
/*Die einzelnen Datumsteile werden in einer Variablen
zusammengefasst, damit strtotime damit was anfangen kann*/
$datum2=$tag.".".$monat.".".$jahr;
//ermitteln des benötigten Datums
$maxtage=date('t', strtotime($datum2));
/*Beginn der Schleife mit der Vorraussetzung, dass der wert $tag
nicht höher sein darf, als die gesammtzahl der Tage des gesuchten
Monats*/
while($tag<=$maxtage){
/*Abfrage ob der Zaehler bei Null gelandet ist, wenn ja, wird er
zurück gesetzt und eine neue Zeile in der Tabelle angefangen*/
if($zaehler==7){
$zaehler=0;
echo "</tr><tr>";
}
/*Abfrage nach dem Wochentag, wenn ja, dann wird das datum in
die Zelle geschrieben*/
if (date('w', strtotime($datum))==$zaehler){
//Nochmals zusammenführen der Datumsteile
$datum=$tag.".".$monat.".".$jahr;
//Erzeugung einer Zelle mit Datum als Inhalt
echo "<td>";
//Ausgabe des Datums
echo date('d', strtotime($datum));
echo "<br>";
//Dieser Block dient einzig der Fehlerdiagnose
echo date('w', strtotime($datum));
echo "<br>";
echo $zaehler;
//Ab hier gehört wieder alles dazu
echo "</td>";
//Hochsetzen des $tag-zaehlers
$tag=$tag+1;
//andernfalls wird eine leere Zelle erzeugt
}else{
echo "<td></td>";
}
//hochsetzen des Zaehlers
$zaehler=$zaehler+1;
}
//ausgabe des Tabellen endes
echo "</tr></table>";
?>
</DIV>
</body>
</html>
Kommentar