我是PHP新手。我有一个选择框,范围从当前年份开始的年份-5(2014)到2050年。我的选择框包含正确的年份,但我需要将其默认为当前年份。目前,它的默认值为2014。我已经为此工作了几个小时。我认为$ current_year变量在某种程度上需要在循环中-以便设置默认值-但这不起作用。在研究并看到各种示例之后,我现在想我需要在循环中构建一个if语句,但我真的不知道。
<form id="calendarForm" name="calendarForm" method="post" action="">
<label for="select_year">Select the year: </label>
<select id="select_year" name="select_year">
<?php
$date = new DateTime();
// Sets the current year
$current_year = $date->format('Y');
// Year to start available options.
$earliest_year = ($current_year - 5);
$year = $earliest_year;
for ($year = $earliest_year; $year <= LATEST_YEAR; $year++) {
echo "<option value='$year'>$year</option>";
}
?>
</select>
答案 0 :(得分:1)
如下修改您的for循环:
for ($year = $earliest_year; $year <= LATEST_YEAR; $year++) {
if($year==$current_year)
{
echo "<option value='$year' selected>$year</option>";
}
else{
echo "<option value='$year'>$year</option>";
}
}
答案 1 :(得分:0)
尝试以下方法。您需要调整php标签,但要整洁。
<option value='$year' <?php if($year == date("Y")) {echo "selected";}?> >$year</option>";
它将根据当前年份进行检查,如果匹配则将成为所选选项。