2012-06-19 64 views
1

我正在創建一個用戶表單,要求人們返回並在不同時間完成表單的功能,這要求它間歇性地保存其內容。問題是,如果用戶提交一些信息,回來並提交更多信息,則會刪除以前的內容。爲了解決這個問題並提高可用性,我建立了表單,用於在用戶編輯內容之前從數據庫回調內容並將其插入到表單中。這適用於textareas,但對於下拉菜單等效果不佳。我查看了其他代碼,可以將選定狀態提供給數據庫內匹配的內容。然而,與所有在數據庫下拉內容的其他例子,我的是硬編碼到該網站,像這樣:基於mysql字段和php變量狀態選擇字段下拉選擇狀態

<div class="block-a"> 
    <label>Likelihood</label> 
    <select class="large-input" name="questions['.$questions['id'].'][1]"> 
     <option></option> 
     <option value="1">Negligible</option> 
     <option value="2">Low</option> 
     <option value="3">Medium</option> 
     <option value="4">High</option> 
     <option value="5">Very High</option> 
     <option value="N/A">Not Applicable</option> 
    </select> 
</div> 

因此,在下午1點說,用戶設置的可能性爲「4」,然後是回到下午3點,它現在所做的全部回到空白處,我希望它與數據庫進行通信,並看到「4」在數據庫中,然後將「高」設置爲選定狀態。

有誰知道如何做到這一點?我一直試圖沒有成功。乾杯

+0

「我一直在努力沒有成功。」 ...你試過了什麼? – TigerTiger

+0

http://www.w3schools.com/html5/att_option_selected.asp –

回答

1

只是爲了回答你的問題 - 假設上面的列表是硬編碼的,你要堅持到...

<option <?php echo (isset($var_which_holds_value) && $var_which_holds_value == '') ? 'selected="selected"' : ''); ?>></option> 
    <option value="1" <?php echo (isset($var_which_holds_value) && $var_which_holds_value == 1) ? 'selected="selected"' : ''); ?>>Negligible</option> 
    <option value="2" <?php echo (isset($var_which_holds_value) && $var_which_holds_value == 2) ? 'selected="selected"' : ''); ?>>Low</option> 
    <option value="3" <?php echo (isset($var_which_holds_value) && $var_which_holds_value == 3) ? 'selected="selected"' : ''); ?>>Medium</option> 
    <option value="4" <?php echo (isset($var_which_holds_value) && $var_which_holds_value == 4) ? 'selected="selected"' : ''); ?>>High</option> 
    <option value="5" <?php echo (isset($var_which_holds_value) && $var_which_holds_value == <?php echo (isset($var_which_holds_value) && $var_which_holds_value == '') ? 'selected="selected"' : ''); ?>) ? 'selected="selected"' : ''); ?>>Very High</option> 
    <option value="N/A" <?php echo (isset($var_which_holds_value) && $var_which_holds_value == 'N/A') ? 'selected="selected"' : ''); ?>>Not Applicable</option> 

但有更好的方法(在代碼的可讀性和管理等方面)實現這一目標。

+0

謝謝,這正是我一直在尋找的! –