改行されないカレンダー(PHP)
●質問の主旨
下記のコードでカレンダーを作りましたが、
日付が横一列に並んだ奇妙なカレンダーになってしまいます。
参考文献と比べて、同じコードを記述しているように思いますが、
なぜ改行されないのか、分かりません。
ご存知の方、アドバイスよろしくお願いします。
●参考文献
西沢直木「プログラミングの教科書」P196
●開発環境
windows8
xammp1.8.1
●コード(test.4)
<!DOCTYPE html>
<html lang="ja">
<head>
<meta charset="UTF-8">
<title>カレンダー</title>
</head>
<table border="1">
<tr>
<th>日</th>
<th>月</th>
<th>火</th>
<th>水</th>
<th>木</th>
<th>金</th>
<th>土</th>
</tr>
<tr>
<?php
$y =2012;
$m = 2;
$wd1 = date("w", mktime(0, 0, 0, $m, 1, $y));
for ($i = 1; $i <= $wd1; $i++) {
echo "<td> </td>";
}
$d = 1;
while (checkdate($m, $d, $y)) {
echo "<td>$d</td>";
if (date("w", mktime(0, 0, 0, $m, $d, $y)) == 6) {
//週を終了
echo"</tr>";
//次の週がある場合は新たな行を準備
if (checkdate($m, $d + 1, $y)) {
echo"<tr>";
}
}
//日付を1つすすめる
$d++;
}
// 最後の週の土曜日まで移動
$wdx = date("w", mktime(0, 0, 0, $m + 1, 0, $y));
for ($i = 1; $i < 7 - $wdx; $i++) {
echo "<td> </td>";
}
?>
</tr>
</table>