ホームページ >バックエンド開発 >PHPチュートリアル >カレンダー関連の問題
カレンダーの問題
2012 年 2 月
月曜日 火曜日 水木 金曜日 土曜 日曜日
6 7 8 9 10 11 12
13 14 15 16 17 18 19
ヘルプ書き込み付き。ありがとうございます
-----解決策---------
<?php クラスカレンダー{ プライベート $year; プライベート $month; プライベート $day_week; 関数 __construct(){ $this->year=isset($_GET['year']) $_GET['year'] : date("Y"); $this->month=isset($_GET['month']) $_GET['month'] : date("m"); $this->day_week=date("w", mktime(0, 0, 0, $this->month, 1, $this->year)); } プライベート関数 xianDate(){ echo "<tr>"; echo "<td><a href='".$this->nextyear($this->年, $this->月)."'>"."<<<" ."</a></td>"; echo "<td><a href='".$this->nextmonth($this->month, $this->year)."'>"."<<"." </td>"; echo "<tdcolspan='3'>".$this->year."year".$this->month."month"; echo "<td><a href='".$this->aftermonth($this->month, $this->year)."'>".">>"." </td>"; echo "<td><a href='".$this->afteryear($this->年, $this->月)."'>".">>>" ."</a></td>"; echo "</tr>"; } プライベート関数weeks(){ $weeks=array("日", "一", "二", "三", "四", "五", "六"); echo "<tr>"; foreach($weeks as $value){ echo "<th>".$value."</th>"; } echo "</tr>"; } プライベート関数 days(){ echo "<tr>"; for($i=0; $iday_week; $i++){ echo "<td> </td>"; } for($j=1; $j month, 1, $this->year)); $j++){ $i++; if($j == date("d")){ echo "<td class='fontb'>".$j."</td>"; }それ以外{ echo "<td>".$j."</td>"; } if($i%7 == 0){ echo "</tr>"; } } while($i%7 != 0){ echo "<td> </td>"; $i++; } } プライベート関数 nextyear($year, $month){ if($年 == 1970){ $年=1970; }それ以外{ $年--; } "?year=".$year."&month=".$month; を返します。 } プライベート関数 afteryear($year, $month){ if($year == 2038){ $年=2038; }それ以外{ $年++; } "?year=".$year."&month=".$month; を返します。 } プライベート関数 nextmonth($month, $year){ if($month == 1){ $年--; $月=12; }それ以外{ $月--; } "?year=".$year."&month=".$month; を返します。 } プライベート関数 aftermonth($month, $year){ if($month == 12){ $年++; $month=1; }それ以外{ $月++; } "?year=".$year."&month=".$month; を返します。 } パブリック関数 out(){ echo "<table align='center'>"; $this->xianDate(); $this->weeks(); $this->days(); echo "</table>"; } } $a=新しいカレンダー; $a->out(); ?><div class="clear"></div>