我想使用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年。如何执行此操作?任何帮助将不胜感激。
答案 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>
答案 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>