月曜日から始まる週間カレンダーの作り方
いつもありがとうございます。
下記のようなコードを書いて1週間のカレンダーを作っていますが、
どうしても日曜日からの表示になります。
この表示を月曜日から始まり、日曜日で終わるカレンダーにならないものか考えるのですが、どうもうまくいきません。
よきアドバイスをお願いします。
<?
//来週・前週の---日曜日----をgetした値
$get_sunday = htmlspecialchars($_GET["get_sunday"]);
$entry_day = htmlspecialchars($_GET["entry_day"]);
//変数の値の識別カレンダー表示
//get_sunday (来週・前週)の値がgetされていたら
if($get_sunday!=""){
//getされた日曜日の日付
$mm = date("m",strtotime($get_sunday));
$dd = date("d",strtotime($get_sunday));
$yyyy = date("Y",strtotime($get_sunday));
//getされた日曜日の日付(日のみ)
$sunday_num = $dd;
//getされた日曜日の日付(年月日)
$kyujin_day = date("Y-m-d",mktime(0,0,0,$mm,$dd,$yyyy));
}
// =================================================
//変数の値の識別 カレンダー表示
//entry_day (指定した日)の値をgetされたら
if($entry_day!=""){
$mm = date("m",strtotime($entry_day));
$dd = date("d",strtotime($entry_day));
$yyyy = date("Y",strtotime($entry_day));
//$week_numに今日の曜日ナンバーを代入(mktime(0,0,0,今日の月,今日の日,今日の年)
//日0・月1・火2・水3・木4・金5・土6
$week_num = date("w", mktime(0,0,0,$mm,$dd,$yyyy));
//entry_dayの値
$kyujin_day = date("Y-m-d",mktime(0,0,0,$mm,$dd,$yyyy));
//日曜日の日付(日のみ)
$sunday_num = $dd - $week_num;
}
// =================================================
//変数の値がない場合は本日の日付の取得 カレンダー表示
if($get_sunday=="" and $entry_day==""){
$mm = date("m",time());
$dd = date("d",time());
$yyyy = date("Y",time());
//$week_numに今日の曜日ナンバーを代入(mktime(0,0,0,今日の月,今日の日,今日の年)
$week_num = date("w", mktime(0,0,0,$mm,$dd,$yyyy));
$kyujin_day = date("Y-m-d",mktime(0,0,0,$mm,$dd,$yyyy));
//日曜日の日付(日のみ)
$sunday_num = $dd - $week_num;
}
//前週、次週に日曜日の日付を取得 カレンダー表示
$sunday_last = $sunday_num - 7;
$sunday_next = $sunday_num + 7;
?>
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=Shift_JIS">
<title>レンダー画面</title>
</head>
<body>
<table>
<tr>
<td></td>
<td bgcolor="#00FFFF">日</td>
<td bgcolor="#00FFFF">月</td>
<td bgcolor="#00FFFF">火</td>
<td bgcolor="#00FFFF">水</td>
<td bgcolor="#00FFFF">木</td>
<td bgcolor="#00FFFF">金</td>
<td bgcolor="#00FFFF">土</td>
<td></td>
</tr>
<tr>
<form method="get" name="form2"action="test2.php">
<td>
<input type="hidden" name="get_sunday" value= "<?php echo date("Y-m-d", mktime(0, 0, 0, $mm, $sunday_last, $yyyy)); ?>">
<input type="submit" name="Submit2" value="前週へ">
</td>
</form>
<?
//週カレンダー(前週ボタン作成)ここまで
//週カレンダー日付を入れる
$w2 = $sunday_num;
$select_day = date("Y-m-d", mktime(0, 0, 0, $mm, $w2, $yyyy));
$i = 0;
while($i < 7) {
//日曜日から順に日付を$select_dayに入れていく
?>
<td bgcolor="#CCFFFF"><? echo date("m月d日", mktime(0, 0, 0, $mm, $w2+$i, $yyyy)) ?></td>
<?
// 日付けを一つ繰り上げる
$i++;
}
?>
<form method="get" name="form2" action="test2.php">
<td>
<input type="hidden" name="get_sunday" value= "<?php echo date("Y-m-d", mktime(0, 0, 0, $mm, $sunday_next, $yyyy)); ?>">
<input type="submit" name="Submit" value="次週へ">
</td>
</form>
</table>
</body>
</html>
お礼
ご回答ありがとうございました! できました! SQL文でもCASE文が使えるのですね。。。初めて知りました! ありがとうございました!