2015-01-15 37 views
2

我有一個靜態的下拉列表中,如下形式:顯示在下拉列表中保存的數據 - HTML選擇標籤

<select class="form-control" id="brand" name="brand"> 
<option value="">Please select a Brand</option> 
<option value="Apple">Apple</option> 
<option value="Samsung">Samsung</option> 
<option value="Sony">Sony</option> 
</select> 

當用戶選擇一個品牌,讓說:蘋果並提交表單。值「Apple」將被保存在mysql數據庫中。我可以選擇讓用戶在提交表單後修改表單。

當用戶編輯表單時,我知道如何從mysql中檢索數據並將其回顯出來,但是如何使這個選項包含值「Apple」作爲選擇,以便此值「Apple」將顯示爲默認值代替「請選擇一個品牌」?

謝謝,

回答

3

從數據庫假設變量保存這個值$brand那麼你可以做這樣的事情:

<select class="form-control" id="brand" name="brand"> 
    <option value="">Please select a Brand</option> 
    <option value='Apple' <?php echo $brand=='Apple'?'selected':''; ?>>Apple</option> 
    <option value='Samsung' <?php echo $brand=='Samsung'?'selected':''; ?>>Samsung</option> 
    <option value='Sony' <?php echo $brand=='Sony'?'selected':''; ?>>Sony</option> 
</select> 

當然這可以通過,如果您有一個循環來完成可以在一個查詢中獲得所有品牌。也許是這樣的:

<select class="form-control" id="brand" name="brand"> 
<?php 
$brands_array=array("Apple","Samsung","Sony"); // could come from DB 
    foreach($brands_array as $b) { 
    echo '<option value="',$b,'"',($brand==$b ?' selected="selected"':'').'>',$b,'</option>'; 
    } 
?> 
</select> 

希望這會有所幫助。

積分伊斯梅爾米格爾的寶貴意見和建議

+1

如果您打算使用PHP,請使用包含所有品牌的數組。此外,由於您在'$ brand =='「'檢查中混合了引號,因此您的代碼會產生大量語法錯誤。 – 2015-01-15 16:35:56

+0

這就是我建議品牌處於循環狀態的問題,我將更新答案。錯誤 – Nikos 2015-01-15 16:37:22

+2

你的更新看起來不錯,但避免使用大寫變量在PHP中,帶有大寫字母的變量被認爲是'系統'變量,同時請注意'$ brand =='$ b''將總是* *因爲你的數組中沒有'$ b'這個品牌,所以'False'你想要'$ brand =='$ b「'或** better **'$ brand == $ b'。也有一個小的錯字:你有'perhas'而不是'也許' – 2015-01-15 16:48:08

1

您必須設置您的選項的「選定」參數。

例子:

<option value="Apple" selected>Apple</option> 
0

只要將它連接到MySQL,並檢查他檢查其值,然後就顯示出選項。使用選擇下面的HTML

<select class="form-control" id="brand" name="brand"> 
<option value="">Please select a Brand</option> 
<option value="Apple" selected>Apple</option> 
<option value="Samsung">Samsung</option> 
<option value="Sony">Sony</option> 
</select> 

代碼http://jsfiddle.net/jkrryuhx/

在這個例子中,蘋果將選擇默認

希望這有助於你

相關問題