我试图找到一个明确的答案,以便使用数据库中的值填充选择选项下拉菜单。我找到了各种答案,包括我认为是我所需要的答案,但事实并非如此。
selected value get from db into dropdown select box option using php mysql error
如前一篇文章所述,我的问题看起来像这样。我有一个表单,其中填充了当前列表的所有数据库值。除了用户先前在状态下选择的内容以外,我可以使所有内容正确地回显。
我的表单摘要如下。 MLS#从保存的变量$ listingMLS回显,并且很好地填充了表单,但是当我回显$ listingStatus并返回当前列表的正确值时,它不会更新所选的选项。
我确定我会缺少一些东西,并将提供所需的任何进一步说明。我希望我能清楚地传达这一点。
<div class="row">
<div class="col-md-2"></div>
<div class="col-md-8">
MLS #
<input type="text" maxlength="100" class="form-control" name="listingMLS" value="<?php echo $listingMLS; ?>">
</div>
<div class="col-md-2"></div>
</div>
<br>
<div class="row">
<div class="col-md-2"></div>
<div class="col-md-8">
Status
<select class='form-control' name='listingStatus' value="<?php echo $listingStatus; ?>">
<option value='0' selected>Active</option>
<option value='1' selected>Price Reduced</option>
<option value='2' selected>Sold</option>
<option value='3' selected>Archived</option>
</select>
</div>
<div class="col-md-2"></div>
</div>
感谢您的帮助。
答案 0 :(得分:0)
value
不是<select>
元素的有效属性。
查看文档:{{3}}
您应该在循环内比较$listingStatus
,然后在匹配时打印选中的内容。像这样:
<select class='form-control' name='listingStatus'>
<?php
foreach($DBListing as $listing):
echo '<option value="'. $listing['status'] .'" '.
(($listing['status'] == $listingStatus)?'selected="selected"':'')
.'>'. $listing['title'] .'</option>';
endforeach;
?>
</select>