日付プルダウン選択フォーム
専門の方が退社されて、サブ業務で多少HPの情報更新や修正をしていた私にお鉢が回ってきてしまい困っており、お教えいただけるとありがたいです。
現在のフォームですと、2ヶ月先までフォームで選択来るようになっており、今なら今年の12月・来年の1月・来年の2月が選択可能になっているのですが
これを4ヶ月先まで選択出来るようにしたい場合どのようにしたらいいのでしょうか?
月セレクト>11月より後の処理>optgroup label forあたりの記述がイマイチ理解出来てないです。
//西暦取得
$seireki = date("Y");
//来年を取得
$rainen = date("Y",strtotime("+1 year"));
//今月を取得-0をつけない⇒付ける時は"m"
$tsuki = date("n");
//翌月を取得
$yokutsuki = date('n', strtotime(date('Y-m-1').' +1 month'));
//再来月を取得
$saraigetsu = date('n', strtotime(date('Y-m-1').' +2 month'));
//今日を取得-0を付けない⇒着ける時は"d"
$hi = date("j");
//指定した月の日数を取得
$tsukihi = date("t");
//翌月の日数を取得
$yokutsukihi = date("t",mktime(0, 0, 0, date("m")+1, 1, date("Y")));
//再来月の日数を取得
$saraigetsuhi = date("t",mktime(0, 0, 0, date("m")+2, 1, date("Y")));
//print"".$seireki.$tsuki.$hi."今月の日数".$tsukihi."翌月".$yokutsuki."翌月の日数".$yokutsukihi;
//11月になったら来年をセレクト可能にする
if($tsuki >= "11"){
$tougetsu = "<select id=\"SEL1\" name=\"year\">\r\n<option value=\"\">---</option>\r\n<option value=\"$seireki\">{$seireki}年</option>\r\n<option value=\"$rainen\">{$rainen}年</option></select>\r\n";
}else{
$tougetsu = "<select id=\"SEL1\" name=\"year\">\r\n<option value=\"\">---</option>\r\n<option value=\"$seireki\">{$seireki}年</option>\r\n</select>\r\n";
}
//月のセレクト
$tsuki1 = date("n");
if($tsuki1 <= "10" ){ //10月より前の月の処理
$tsuki_select = "<select id=\"SEL2\" name=\"month\">\r\n<option value=\"\">---</option>\r\n<optgroup label=\"".$seireki."\">";
for($k = $tsuki1; $k <= $tsuki1 + 2; $k++){
$tsuki_select .= "<option value=\"".$k."\">".$k."月</option>\r\n";
}
$tsuki_select .="</optgroup>\r\n</select>";
}else{ //11月より後の処理
$tsuki2 = $yokutsuki;
$tsuki3 = $saraigetsu;
$tsuki_select = "<select id=\"SEL2\" name=\"month\">\r\n<option value=\"\">---</option>\r\n<optgroup label=\"".$seireki."\">";
for($k = $tsuki1; $k < $tsuki1 + $tsuki2; $k++){
$tsuki_select .= "<option value=\"".$k."\">".$k."月</option>\r\n";
}
$tsuki_select .="</optgroup>
<optgroup label=\"".$rainen."\">";
for($t = 1; $t <= $tsuki3; $t++){
$tsuki_select .= "<option value=\"".$t."\">".$t."月</option>\r\n";
}
$tsuki_select .="</optgroup></select>\r\n";
}
//日付のセレクト(当月)
$day_select ="<select id=\"SEL3\" name=\"day\">
<option value=\"\">---</option>
<optgroup label=\"".$tsuki."\">\r\n";
for($i = $hi; $i <= $tsukihi; $i++){
if(isset($hi) && $hi == $i){
$day_select .="<option value=\"".$i."\" selected=\"selected\">".$i."日</option>\r\n";
}else{
$day_select .="<option value=\"".$i."\">".$i."日</option>\r\n";
}
}
$day_select .="</optgroup>
<optgroup label=\"".$yokutsuki."\">\r\n";
for($j = 1; $j <= $yokutsukihi; $j++){//翌月分
$day_select .="<option value=\"".$j."\">".$j."日</option>\r\n";
}
$day_select .="</optgroup>
<optgroup label=\"".$saraigetsu."\">\r\n";
for($l = 1; $l <= $saraigetsuhi; $l++){//翌々月分
$day_select .="<option value=\"".$l."\">".$l."日</option>\r\n";
}
$day_select .="</optgroup></select>\r\n";
----表示部----
<td>
<?= $tougetsu ?>
<?= $tsuki_select ?>
<?= $day_select ?>
<script type="text/javascript">
ConnectedSelect(['SEL1','SEL2','SEL3']);
</script>
</td>