basti1012.bplaced.net

Du siehst gerade eine vereinfachte Darstellung unserer Inhalte. Normale Ansicht mit richtiger Formatierung.
    Einen Kalender mit reinen Php erstellen

    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;
    ?>