2011-10-08 158 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。 –