萬盛學電腦網

 萬盛學電腦網 >> 網絡編程 >> php編程 >> 使用php制作的日歷

使用php制作的日歷

 這篇文章主要介紹了使用php制作的日歷,下面有效果圖,大家參考使用吧

 6.jpg calendar.class.php  代碼如下:  <?php class Calendar {   private $year; //當前的年   private $month; //當前的月   private $start_weekday; //當月的第一天對應的是周幾   private $days; //當前月一共多少天     function __construct(){    $this->year=isset($_GET["year"]) ? $_GET["year"] : date("Y");    $this->month=isset($_GET["month"]) ? $_GET["month"] : date("m");      $this->start_weekday=date("w", mktime(0, 0, 0, $this->month, 1, $this->year));    $this->days=date("t", mktime(0, 0, 0, $this->month, 1, $this->year));   }     function out(){    echo '<table align="center">';    $this->chageDate("test.php");    $this->weeksList();    $this->daysList();    echo '</table>';   }     private function weeksList(){    $week=array('日','一','二','三','四','五','六');      echo '<tr>';    for($i=0; $i<count($week); $i++)     echo '<th class="fontb">'.$week[$i].'</th>';      echo '</tr>';   }     private function daysList(){    echo '<tr>';    //輸出空格(當前一月第一天前面要空出來)    for($j=0; $j<$this->start_weekday; $j++)     echo '<td> </td>';        for($k=1; $k<=$this->days; $k++){     $j++;     if($k==date('d'))      echo '<td class="fontb">'.$k.'</td>';     else      echo '<td>'.$k.'</td>';       if($j%7==0)      echo '</tr><tr>';      }      //後面幾個空格    while($j%7!==0){     echo '<td> </td>';     $j++;    }      echo '</tr>';   }     private function prevYear($year, $month){    $year=$year-1;      if($year < 1970)     $year = 1970;      return "year={$year}&month={$month}";    }       private function prevMonth($year, $month){    if($month == 1) {     $year = $year -1;       if($year < 1970)      $year = 1970;       $month=12;    }else{     $month--;    }      return "year={$year}&month={$month}";    }       private function nextYear($year, $month){    $year = $year + 1;      if($year > 2038)     $year = 2038;      return "year={$year}&month={$month}";    }       private function nextMonth($year, $month){    if($month==12){     $year++;       if($year > 2100)      $year=2100;       $month=1;    }else{     $month++;    }          return "year={$year}&month={$month}";    }     private function chageDate($url=""){    echo '<tr>';    echo '<td><a href="?'.$this->prevYear($this->year, $this->month).'">'.'<<'.'</a></td>';    echo '<td><a href="?'.$this->prevMonth($this->year, $this->month).'">'.'<'.'</a></td>';    echo '<td colspan="3">';    echo '<form>';    echo '<select name="year" onchange="window.location=''.$url.'?year='+this.options[selectedIndex].value+'&month='.$this->month.''">';    for($sy=1970; $sy <= 2100; $sy++){     $selected = ($sy==$this->year) ? "selected" : "";     echo '<option '.$selected.' value="'.$sy.'">'.$sy.'</option>';    }    echo '</select>';    echo '<select name="month"  onchange="window.location=''.$url.'?year='.$this->year.'&month='+this.options[selectedIndex].value">';    for($sm=1; $sm<=12; $sm++){     $selected1 = ($sm==$this->month) ? "selected" : "";     echo '<option '.$selected1.' value="'.$sm.'">'.$sm.'</option>';    }    echo '</select>';    echo '</form>';     echo '</td>';        echo '<td><a href="?'.$this->nextYear($this->year, $this->month).'">'.'>>'.'</a></td>';    echo '<td><a href="?'.$this->nextMonth($this->year, $this->month).'">'.'>'.'</a></td>';    echo '</tr>';   }    } ?>        test.php     代碼如下:  <style>  table {   border:1px solid #050;  }    .fontb {   color:white;   background:blue;  }      th {   width:30px;  }    td,th {   height:30px;   text-align:center;    }  form {   margin:0px;   padding:0px;  } </style> <?php  include "calendar.class.php";    $calendar=new Calendar;    $calendar->out(); ?>  
copyright © 萬盛學電腦網 all rights reserved