我已将值从下拉列表存储到数据库。我想回显一下我在编辑表单中的下拉列表中显示的相同值。我怎么能在PHP中实现呢?
Region
<select name="stf_region">
<option>Select</option>
<option value="1">MDU</option>
<option value="2">TMM</option>
</select>
我使用选择值存储在数据库中 但我不知道在同一下拉列表中显示该值
答案 0 :(得分:1)
使用类似的东西:
<?
$sql = "SELECT id, description FROM dropDownTable";
$rs = mysql_query($sql);
?>
<select name="dropDown">
<option value="-1">Please select...</option>
<? while ($obj = mysql_fetch_object($rs)) { ?>
<option value="<?= $obj->id; ?>" <? if ($data['downDown'] == $obj->id) echo "SELECTED"; ?>>
<?= $obj->description; ?>
</option>
<? } ?>
</select>
请注意$data
需要设置为包含正在编辑的实体的属性的关联数组。此代码灵活,因为对于用户可能已提交不完整表单的表单,$data
可以设置为$_POST
变量,因此所有输入的字段都可以包括在内,用户无需重新指定他们之前填写的字段。这基本上意味着您的表单模板,插入条目和编辑条目可以是相同的!
答案 1 :(得分:1)
嗯,你可以这样做
$query = "select id, label from lookup_table";
$result = mysql_query($query);
$html = "<select name='yourname'><option value="">Please select...</option>";
while ($row = mysql_fetch_array($result, MYSQL_ASSOC)) {
$html .= "<option value='$row[id]'>$row[label]</option>";
}
$html = "</select>";
echo ($html);//Display the select in the page
答案 2 :(得分:0)
如果您能够将db数据放入数组中,您可以像这样使用它们:
<?php
$options = array('label 1' => 'value 1', 'label 2' => 'value 2');
echo "<select name=somename>";
foreach($options as $key => $value){
echo "<option value=" . $value . ">" . $key . "</option>";
}
echo "</select>";
?>
答案 3 :(得分:0)
我使用COOKIE来匹配编辑表单时应该选择的值。
<?php
while($result_row=mysql_fetch_array($result)){
if ( $_COOKIE['MY_COOKIE'] == $result_row[importance_level_id )
{
echo "<option SELECTED=\"SELECTED\" value=$result_row[importance_level_id]>$result_row[importance_level]</option>";
}
else
{
echo "<option value=$result_row[importance_level_id]>$result_row[importance_level]</option>";
}
?>
答案 4 :(得分:0)
假设您可以将数据库中的值选择为PHP变量(假设为$ region)我认为您就在
之后Region
<select name="stf_region">
<option>Select</option>
<option value="1"<?php echo ($region == '1') ? ' selected="selected"' : ''; ?>>MDU</option>
<option value="2"<?php echo ($region == '2') ? ' selected="selected"' : ''; ?>>TMM</option>
</select>
这是我认为你问的问题最简洁的答案。但是,这是一个非常具体的答案,并假设您的下拉值是硬编码的,并且不会真正改变。
如果您想要一个更灵活的设置,从数据库中检索下拉列表的值,那么您正在寻找更多与Gordon Murray Dent建议的内容相似的内容
答案 5 :(得分:-1)
<div class="form-group has-success col-md-6">
<label class="control-label" for="state-success">Select Buyer</label>
<select id="state-success" class="form-control ">
<?php
$sql="SELECT full_name FROM `new_customer`";
$data=mysqli_query($dbcon,$sql);
?>
<option>Select byer...</option>
<?php while($row1=mysqli_fetch_array($data)){?>
<option value="<?php echo $row1['full_name'];?>"><?php echo $row1['full_name'];?></option>
<?php } ?>
</select>