2011-07-05 72 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