我有一个带有四个选项的下拉表单项。
<p>Priority:
<select required name=\"priority\">
<option default value=\"1\">1 - 10 days</option>
<option value=\"2\">2 - 5 days</option>
<option value=\"3\">3 - 48 hours</option>
<option value=\"4\">4 - 24 hours</option>
</select>
</p>
这些值已经使用1,2,3,4存储在SQL数据库中。我正在处理的页面是各种编辑页面,因此我希望在下拉列表中选择数据库中设置的任何值,因此用户无需在提交时重新选择该值。我怎样才能找到它并根据设置选择正确的选项?使用像这样的文本字段,我没有问题:
echo "<p>Cost: <input required type=\"text\" name=\"cost\" value=\"".$cost."\">";
我是否必须为每个值(if ($priority == 1) {...})
等执行四种不同的if语句?
答案 0 :(得分:5)
如果选项存储在关联数组中,您可以编写如下内容:
foreach ($options as $value => $label) {
echo '<option value="', $value, '"', ($dbValue == $value ? ' selected="selected"' : ''), '>', $label, '</option>';
}
答案 1 :(得分:1)
您不必为每个值执行四个不同的if语句。你必须做四个if语句,每个值一个。
答案 2 :(得分:0)
foreach ($options as $value => $label)
{
if(isset($_POST['priority']) && $_POST['priority']==$value)
{
$selected = 'selected="selected"';
}
else
{
$selected='';
}
echo '<option value="'. $value. '" '.$selected.'>'. $label. '</option>';
}