PHP-在选择框中设置默认年份

时间:2019-02-17 03:14:50

标签: php

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

2 个答案:

答案 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>";

它将根据当前年份进行检查,如果匹配则将成为所选选项。