2011-10-08 257 views
1

我從名爲$ option的mysql數據庫收到一個變量,在這種情況下,這個變量可能是'1'或'2'。什麼是正確的PHP代碼將'selected ='selected''代碼添加到$ option 1列表中的相應選項?如何選擇選擇列表選項

<select name="select-list"> 
<option value='1'>option 1</option> 
<option value='2'>option 1</option>    
</select> 

回答

2
<select name="select-list"> 
<option value='1' <?php if ($option == '1') { echo "selected"; } ?>>option 1</option> 
<option value='2' <?php if ($option == '2') { echo "selected"; } ?>">option 1</option>    
</select> 

這樣嗎?

+0

你看過這個問題嗎?或只有標題? –

+0

我編輯it.no需要downvote所有評論tho – Dzoki

+0

downvote當答案是錯誤的。既然你編輯它,我刪除了downvote。快樂回答:) –

0

這就是我該怎麼做的。

<?php 
    $select-list = (str) $_POST['select-list']; //or however you retrieve this value 
?> 

<select name="select-list"> 
<option value='1' <?php if($select-list === "1"){ echo "selected"; }?>>option 1</option> 
<option value='2' <?php if($select-list === "2"){ echo "selected"; }?>>option 1</option>    
</select> 
+0

不,還是錯的。可變的'$ option'被定義爲來自mysql查詢,OP聲稱,沒有人討論'$ _POST'。 –

+0

你甚至不知道你讀了答案Rikudo,但它說「或者你檢索這個值。」 – espradley

-1

只需將selected屬性添加到要選擇的項目。

<select name="select-list"> 

    <option value='1'>option 1</option> 
    <option value='2' <?php if ($option === '2') { echo "selected" } ?>>option 2</option>    

</select> 
+0

@downvoter解釋? –

+1

這是完全錯誤的。您需要確保第一次顯示該選項正在設置爲$ _POST,第二次,您需要使用===符號。當你做完這些之後,你應該停止標記別人的問題,讓你的人成爲頂尖人物。 – espradley

+0

我沒有標記任何人獲得我的答案,我標記了他們的答案,因爲他們顯然是錯誤的。如果它的==或===作爲結果(來自數據庫的情況)將始終是一個字符串,這並不重要。從來沒有人說它應該被設置爲$ _POST。 –