Php Kalender

Einen Kalender mit reinen Php erstellen

Der hier verwendete Code

<?php $trans[1] = 'Januar'; $trans[2] = 'Februar'; $trans[3] = 'März'; $trans[4] = 'April'; $trans[5] = 'Mai'; $trans[6] = 'Juni'; $trans[7] = 'Juli'; $trans[8] = 'August'; $trans[9] = 'September'; $trans[10] = 'Oktober'; $trans[11] = 'November'; $trans[12] = 'Dezember'; $html = ''; for ($jahr = 2022; $jahr < 2027; $jahr ++) { $feiertage = array ( array(1,1), array ((date ("d", easter_date($jahr)) - 2), date ("m", easter_date($jahr))), array ((date ("d", easter_date($jahr)) + 1), date ("m", easter_date($jahr))), array (date ("d", easter_date($jahr) + (60 * 60 * 24 * 39)),date ("m", easter_date($jahr) + (60 * 60 * 24 * 39))), array (date ("d", easter_date($jahr) + (60 * 60 * 24 * 50)),date ("m", easter_date($jahr) + (60 * 60 * 24 * 50))), array (date ("d", easter_date($jahr) + (60 * 60 * 24 * 60)),date ("m", easter_date($jahr) + (60 * 60 * 24 * 60))), array (1,5), array (3, 10), array (1, 11), array (25, 12), array (26, 12), array (31, 12) ); $html .= '<br><table border="0" width="860" align="center">'."\n"; $line = '"'.'Monat'.'"'.';"Mo";"Di";"Mi";"Do";"Fr";"Sa";"So"'."\n";; for ($monat = 1 ; $monat < 13; $monat++) { $timestamp = mktime(0, 0, 0, $monat, 1, $jahr); $tag = 1; $wochentag = 1; $monatsnamen = $trans[$monat]; if (($monat - 1) % 4 == 0) $html .= '<tr>'; $html .= '<td valign="top">'."\n"; $html .= "\t".'<table align="center" cellpadding="0" cellspacing="0" width="200" border="1" frame="box" rules="all" bordercolor="#000">'."\n"; $html .= "\t\t".'<tr>'."\n"; $html .= "\t\t\t".'<td colspan="7" style="padding-left: 3px;">'.$monatsnamen.' '.$jahr.'</td>'."\n"; $html .= "\t\t".'</tr>'."\n"; $html .= "\t\t".'<tr>'."\n"; $html .= "\t\t\t".'<td valign="top" align="right" style="padding-right: 3px;">Mo</td>'."\n"; $html .= "\t\t\t".'<td valign="top" align="right" style="padding-right: 3px;">Di</td>'."\n"; $html .= "\t\t\t".'<td valign="top" align="right" style="padding-right: 3px;">Mi</td>'."\n"; $html .= "\t\t\t".'<td valign="top" align="right" style="padding-right: 3px;">Do</td>'."\n"; $html .= "\t\t\t".'<td valign="top" align="right" style="padding-right: 3px;">Fr</td>'."\n"; $html .= "\t\t\t".'<td valign="top" align="right" style="padding-right: 3px;">Sa</td>'."\n"; $html .= "\t\t\t".'<td valign="top" align="right" style="padding-right: 3px;">So</td>'."\n"; $html .= "\t\t".'<tr>'."\n"; $line .= '"'.$monatsnamen.'"'.';"Mo";"Di";"Mi";"Do";"Fr";"Sa";"So"'."\n";; $line .= '"'.$monatsnamen.'"'; $anfang = date('w',$timestamp); if ($anfang == 0) $anfang = 7; for ($i=0; $i < $anfang - 1; $i++) { $html .= "\t\t\t".'<td>&nbsp;</td>'."\n"; $wochentag++; $line .= ';'.'""'; } while (checkdate($monat, $tag, $jahr)) { $html .= "\t\t\t".'<td valign="top" align="right" style="padding-right: 3px;">'; $line .= ';'.'"'; if ($wochentag % 7 == 0) { $html .= '<b style="color: #f00;">'; $line .= '<B>'; } else { for ($i = 0; $i < sizeof ($feiertage);$i++) { if ($tag == $feiertage[$i][0] && $monat == $feiertage[$i][1]) { $html .= '<b style="color: #f00;">'; $line .= '<B>'; } } } $line .= $tag; $html .= $tag; if ($wochentag % 7 == 0) { $html .= '</b>'; } else { for ($i = 0; $i < sizeof ($feiertage);$i++) { if ($tag == $feiertage[$i][0] && $monat == $feiertage[$i][1]) { $html .= '<b style="color: #f00;">'; } } } $html .= '</td>'."\n"; $line .= '"'; if ($wochentag % 7 == 0) { $html .= "\t\t".'</tr>'."\n"; $html .= "\t\t".'<tr>'."\n"; if ($wochentag < 32) $line .= "\n".'"'.$monatsnamen.'"'; } $tag++; $timestamp = $timestamp + 1; $wochentag++; } $line .= "\n"; $html .= "\t\t".'</tr>'."\n"; $html .= "\t".'</table>'; $html .= '<td>'."\n"; if ($monat % 4 == 0) $html .= '</tr>'."\n"; } $html .= '</table>'; } echo $html; ?>