2011-07-05 48 views
1

我已经从下拉列表中存储值到数据库。我想在我的编辑表单中回显相同的值以显示在该下拉列表中。我怎么能实现在PHP?从数据库显示到下拉列表

Region 
<select name="stf_region"> 
<option>Select</option> 
<option value="1">MDU</option> 
<option value="2">TMM</option> 
</select> 

我一直在使用选择 的值存储在数据库中,但我不知道如果你能得到DB数据到数组,以显示相同的丢弃该值继续递减

+1

您可以发布相关的HTML和检索来自您正在寻找的东西沿的线条更数据库下拉的值PHP代码? – roberttdev

+0

我在我的添加详细信息表单中通过下拉列表存储了数据库中的值。但是在我的编辑表单下拉菜单中显示相同的值。 – jeni

+0

你的意思是你想让这个物品在下拉菜单中被选中**吗? – Teneff

回答

0

使用这样的事情:

 <? 
     $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> 

PL便捷注释$data需要设置为包含正在编辑的实体的属性的关联数组。此代码为flexible,因为在用户可能提交了不完整表格的情况下,可以将$data设置为$_POST变量,因此可以包含所有输入的字段,而无需用户重新指定它们先前填充的字段这基本上意味着你的表单模板,插入条目和编辑条目可以是相同的!

+0

感谢它的工作,做了我想要的。 – jeni

0

,你可以与他们合作像这样:

<?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>"; 
?> 
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 
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>"; 
    } 
    ?> 
0

假设你是确定与选择值从数据库中到一个PHP变量(假设$区),我觉得你只是后

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> 

这是最简洁的答案问题,我认为你在问。但是,这是一个非常具体的答案,并假定您的下拉值是硬编码的,并且不会真的发生变化。

如果你想有一个更灵活的设置是什么已建议由戈登·默里登特上述

+0

它显示所有选项 – jeni