我在下面有这个查询,这是一年的下拉(从1900年至今)。我正在使用$变量在编辑表单的下拉列表中首先显示先前选择的年份。它的工作原理除外,2011年的所有其他年份也会重复。我如何调整它以便$ y首先显示,然后是所有年份?
代码:
<select name="year">
<?PHP for($i=date("1900"); $i<=date("2011"); $i++)
if($year == $i)
echo "<option value='$y' selected>$y</option>
<option value='$i' selected>$i</option>";
else
echo "<option value='$y' selected>$y</option>
<option value='$i'>$i</option>";
?>
</select></td>
</tr>
答案 0 :(得分:1)
<select name="year">
<?PHP
echo "<option value='$year' selected>$year</option>
for($i=1900; $i<=2011; $i++)
if($year != $i)
echo "<option value='$i'>$i</option>";
<option value='$i'>$i</option>";
?>
</select></td>
</tr>
答案 1 :(得分:1)
不确定$y
是什么,但我猜$year
是当年:
<select name="year">
<?php
for($i=date("1900"); $i<=date("2011"); $i++)
{
if($year == $i)
echo '<option value="'.$i.'" selected="selected">'.$i.'</option>';
else
echo '<option value="'.$i.'">'.$i.'</option>';
}
?>
</select>
答案 2 :(得分:1)
保持简单:
<select name="year">
<?php for($i=1900; $i<=date('Y'); $i++) {
if($i == date('Y'))
echo "<option value='$i' selected='selected'>$i</option>";
else
echo "<option value='$i'>$i</option>";
}
?>
</select></td>
</tr>
甚至更好:
<select name="year">
<?php for($i=1900; $i<=date('Y'); $i++)
echo "<option value='$i' ".(($i == date('Y')?'selected="selected"':'')).">$i</option>";
?>
</select></td>
</tr>
倒退
<select name="year">
<?php for($i=date('Y'); $i>=1900; $i--)
echo "<option value='$i' ".(($i == date('Y')?'selected="selected"':'')).">$i</option>";
?>
</select></td>
</tr>