如何使用php在年份选项中选择?

问题描述

我想使用 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 年。

output

解决方法

您需要在循环内部测试循环生成的每个日期

<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>