カレンダーページの表示
#1, mktime() 関数を使用して、今月の日数と月の 1 日の週を取得します (2018/3/13)
<?php $day=date("t",mktime(0,0,0,$mon,1,$year));//当前月的天数 31 $w=date("w",mktime(0,0,0,$mon,1,$year));//当月1号的星期几 4
2, カレンダーのヘッダー情報を出力します##
<?php echo"<div align='center'>"; echo"<table border='0'>"; echo"<h3><div>{$year}年{$mon}月</div></h3>"; echo "<tr>"; echo "<th>日</th>"; echo "<th class='td1'>一</th>"; echo "<th class='td1'>二</th>"; echo "<th class='td1'>三</th>"; echo "<th class='td1'>四</th>"; echo "<th class='td1'>五</th>"; echo "<th>六</th>"; echo "</tr>";
##3, をトラバースします出力カレンダー
分析:
# mktime() 関数から、次の合計日数を知ることができます。現在の月。曜日は月の 1 日です。現在の月の合計日数よりも小さい必要があるだけです。毎回、7 日間のトラバーサル出力が実行されます。
毎月1日にあたる曜日から毎日1ずつ加算していき、7日周期を1行のデータとしてカレンダーが出来上がります
コード:
<?php $d=1; while($d<=$day){ echo"<tr onmouseOver='overTr(this)'onmouseOut='outTr(this)'>"; for($i=1;$i<=7;$i++){//循环输出7天信息 if($d<=$day&&($w<$i||$d!=1)){ echo "<th><a href=''>{$d}</a></th>"; $d++; }else{ echo"<th> </th>"; } } }
実行結果は次のとおりです: