问题描述
我想使用 PHP 在年份选项中进行选择,但我的编码不起作用。例如,如果我希望选择的年份是 2019 年,那么该选项将首先显示选择的 2019 年。希望有人可以指导我在哪个部分我出错了。谢谢。
下面是我的代码:
<select id="year" class="form-control" name="year" title="Year">
<option value="">Please Select</option>
<?PHP
$result_arr_['year'] = "2019";
if($result_arr_['year'] == true){
$selected_year = "selected";
}else{
$selected_year = " ";
}
for ($year = (int)date('Y'); 1900 <= $year; $year--): ?>
<option value="<?=$year;?>" <?PHP echo $selected_year;?>><?=$year;?></option>
<?PHP endfor; ?>
</select>
我的输出只是显示我从 1900 年开始,而不是 2019 年。
解决方法
您需要在循环内部测试循环生成的每个日期
<select id="year" class="form-control" name="year" title="Year">
<option value="">Please Select</option>
<?php
$result_arr_['year'] = "2019";
for ($year = (int)date('Y'); 1900 <= $year; $year--):
$selected = $result_arr_['year'] == $year ? " selected='selected' " : '';
?>
<option value="<?=$year;?>" <?= $selected;?>><?=$year;?></option>
<?php
endfor;
?>
</select>