PHPでカレンダー機能を作成。
PHPを使えば日付の所に予定を書き込んだり、
用事のある日を色付けしたりも出来る。
まずは簡単にカレンダー機能のみを作成。
以下のコードを打ち込む。
<?php
//変数の受取
$year = $_REQUEST['year'];
$month = $_REQUEST['month'];
//最初の実行する時はdate関数から年を設定
if($year == null){
$year = date(Y);
}
//最初の実行する時はdate関数から月を設定
if($month == null){
$month = date(n);
}
//先月の場合
if($month==1){
$year_b = $year-1;
$month_b = 12;
}else{
$year_b = $year;
$month_b = $month-1;
}
//来月の場合
if($month==12){
$year_a = $year+1;
$month_a = 1;
}else{
$year_a = $year;
$month_a = $month+1;
}
//今日の日付を保管
$today = date(Ynj);
//先月や次月へ移動する為の部分
$body .= "<center><table><tbody><tr><td>
<a class=\"month_b\" href=\"test.php?year=$year_b&month=$month_b\"><<" .$month_b ."月</a></td>
<td class=\"daimei\"><font class=\"title\">$title" ." </font><font class=\"year\">$year" ."年</font><font class=\"month\">$month" ."月</font></td>
<td><a class=\"month_a\" href=\"test.php?year=$year_a&month=$month_a\">" .$month_a ."月>></a></td>
</td></tr></tbody></table>";
//曜日の表示
$body .="<table border=\"1\">
<tbody>
<tr><td width=\"110\" bgcolor='#ff0000' align='center' class=\"sunday\"><font size='3'><b>日</b></font></td>
<td width=\"110\" height=\"10\" bgcolor='#ffaaaa' align='center' class=\"other\"><font size='3'><b>月</b></font></td>
<td width=\"110\" height=\"10\" bgcolor='#ffaaaa' align='center' class=\"other\"><font size='3'><b>火</b></font></td>
<td width=\"110\" height=\"10\" bgcolor='#ffaaaa' align='center' class=\"other\"><font size='3'><b>水</b></font></td>
<td width=\"110\" height=\"10\" bgcolor='#ffaaaa' align='center' class=\"other\"><font size='3'><b>木</b></font></td>
<td width=\"110\" height=\"10\" bgcolor='#ffaaaa' align='center' class=\"other\"><font size='3'><b>金</b></font></td>
<td width=\"110\" height=\"10\" bgcolor='#0000ff' align='center' class=\"sutday\"><font size='3'><b>土</b></font></td></tr>
<tr>";
$wtop = date(w,mktime(0,0,0,$month,1,$year));
for($dot1 = 0 ; $dot1 < $wtop ; $dot1++){
$body .= "<td align='center'>・</td>\n";
}
for( $day = 1 ; checkdate( $month, $day, $year ) ; $day++ ){
$ttl_ninzu = 0;
$ttl_kashi = 0;
if(($day+$wtop)%7 == 1){ //日曜日
$body .= "<tr><td valign='top' align=\"left\" height=\"60\">
<table border=\"0\">
<tbody>
<td rowspan=\"2\"><font color=\"#ff97cb\">$day</font></td>
</tbody>
</table>";
}else if(($day+$wtop)%7 == 0){ //土曜日
$body .= "<td valign='top' align=\"left\" height=\"60\">
<table border=\"0\">
<tbody>
<td rowspan=\"2\"><font color=\"#99a3f9\">$day</font></td>
</tbody>
</table>";
}else{ //その他
$body .= "<td valign='top' align=\"left\" height=\"60\">
<table border=\"0\">
<tbody>
<td rowspan=\"2\">$day</td>
</tbody>
</table>";
}
}
$wend = date(w,mktime(0,0,0,$month,$day,$year));
if($wend !=0){
for($dot2 =0 ; $dot2 < 7-$wend ;$dot2++){
$body .= "<td align='center'>・</td>";
}
}
$body .= "</td></tr></table>";
//HTMLを組み立てる
print "<html><head><title>カレンダー</title></head><body>";
print $body;
print "</body></html>";
?>