使用数据库值PHP

时间:2019-02-21 00:02:31

标签: html

我试图找到一个明确的答案,以便使用数据库中的值填充选择选项下拉菜单。我找到了各种答案,包括我认为是我所需要的答案,但事实并非如此。

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>

感谢您的帮助。

1 个答案:

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