提交表单时保留PHP创建的下拉菜单值

I want the value of the dropdown menu to stay when form is submitted. However, this dropdown menu is created entirely by PHP rather than individual hand-typed values.

<?php
echo '<select name="month"><option>Month</option>';
for($i = 1; $i <= 12; $i++) {
$i = str_pad($i, 2, 0, STR_PAD_LEFT);
echo "<option value='$i'>$i</option>";
}
echo '</select>';

Is there a way to have the selected="selected" on the value the user selects?

I have a version for "years" too, and it has 100 values. So I'm looking for a way to do this without having to hand-type values.

When you're looping through, check if the submitted value equals the current value. If it does, select it:

for($i = 1; $i <= 12; $i++) {
    $i = str_pad($i, 2, 0, STR_PAD_LEFT);
    if ($i == $_POST["month"]) {
        echo "<option value='$i' selected>$i</option>";
    } else {
        echo "<option value='$i'>$i</option>";
    }
}

What about ordinary check:

...
for(....) {
   printf("<option %s value='{$i}'>{$i}</option>", 
        ($i == $_POST['month']) ? 'selected' : '');
   }
}