php生成一个选择框,其下拉年份为-5年和+5年

时间:2019-02-23 07:26:42

标签: php

我想使用PHP动态生成一个日期范围为-3年和+5年的选择框下拉列表。

例如:

update_option( 'admin_email', 'your_new_email@gmail.com' );                                   
update_option( 'new_admin_email', 'your_new_email@gmail.com' );

类似这样的事情。并且每年该列表将自动更新,例如2020年的最小范围将变为2017年,最大范围将变为2025年。如何执行此操作?任何帮助将不胜感激。

4 个答案:

答案 0 :(得分:3)

// get current year
$curYear = date('Y');

// create range of required years and iterate over them
foreach(range($curYear - 3, $curYear + 5) as $year) {
    echo "<option value='$year'>$year</option>";
}

答案 1 :(得分:3)

使用date()获取年份,并使用for循环获取所需的结果。

echo '<select name="years">' . PHP_EOL;
for($i = date("Y")-3; $i <=date("Y")+5; $i++){
    echo '<option value="' . $i . '">' . $i . '</option>' . PHP_EOL;
}
echo '</select>';

输出:

<select name="years">
<option value="2016">2016</option>
<option value="2017">2017</option>
<option value="2018">2018</option>
<option value="2019">2019</option>
<option value="2020">2020</option>
<option value="2021">2021</option>
<option value="2022">2022</option>
<option value="2023">2023</option>
<option value="2024">2024</option>
</select>

https://3v4l.org/jIPKl

答案 2 :(得分:0)

此代码是从头开始的,您可以使用此代码:

echo "<select name='years'>";
   for($i=-5; $i <= 5; $i++){
        $test = date('Y', strtotime($i.'year'));
        echo '<option value='.$test.'>'.$test.'</option>';
   }
echo "</select>";

这将输出您要查找的内容。希望这会有所帮助!

答案 3 :(得分:0)

<?php

$current_year =  date("Y");

?>

<select>
    <?php
       for ($i=-3; $i <6 ; $i++) {
    ?>
   <option value=" <?php echo($current_year + $i);  ?>"> <?php echo($current_year + $i);  ?>
   </option>
   <?php
      }
    ?>
</select>