Php 如何使选择列表选项处于选中状态

Php 如何使选择列表选项处于选中状态,php,forms,Php,Forms,我从mysql数据库收到一个名为$option的变量,在本例中,该变量可以是“1”或“2”。将'selected=“selected”'代码添加到$option 1列表中相应选项的正确PHP代码是什么 <select name="select-list"> <option value='1'>option 1</option> <option value='2'>option 1</option> </s

我从mysql数据库收到一个名为$option的变量,在本例中,该变量可以是“1”或“2”。将'selected=“selected”'代码添加到$option 1列表中相应选项的正确PHP代码是什么

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

选择1
选择1

“>选项1
像这样吗?


“>选项1

像这样吗?

我就是这样做的

<?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>

>选择1

我就是这样做的

<?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>

>选择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>

选择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>

选择1


这是完全错误的。您需要确保首先显示选项被设置为$\u POST,其次,您需要使用===符号。当你完成这项工作后,你应该停止在别人的问题上打分数,让你的问题排在第一位。我没有给任何人打分数来让我的答案排在第一位,我给他们的答案打分数是因为他们的答案完全错了。不管结果是its==还是===as(如果来自数据库),结果总是一个字符串。没有人说过应该设置为$邮政。我的错到底是什么?另一个用户答案是这里的不成熟,我建议我们在这里停止。首先,你不能确定这里的2是一个字符串。。。我确实看到你根据我的建议修改了你的答案,已经有了===比较运算符,但是2可以作为整数或字符串出现,这取决于它们是如何得到的。让我们看看这是完全错误的。您需要确保首先显示选项被设置为$\u POST,其次,您需要使用===符号。当你完成这项工作后,你应该停止在别人的问题上打分数,让你的问题排在第一位。我没有给任何人打分数来让我的答案排在第一位,我给他们的答案打分数是因为他们的答案完全错了。不管结果是its==还是===as(如果来自数据库),结果总是一个字符串。没有人说过应该设置为$邮政。我的错到底是什么?另一个用户答案是这里的不成熟,我建议我们在这里停止。首先,你不能确定这里的2是一个字符串。。。我确实看到你根据我的建议修改了你的答案,已经有了===比较运算符,但是2可以作为整数或字符串出现,这取决于他们是如何得到它的。让我们在答案错误时进行向下投票。因为你编辑了它,我删除了否决票。愉快的回答:)
($option='1'和&$option!='2')
是相当多余的。。。如果第一个是真的,那么第二个总是真的,反之亦然。只需编写
($option='1')
。谢谢你的提示。所以实际上应该像
@Dzoki是的,那会更简洁(只是不要忘记1后面的结尾
)。正确,但为了进一步扩展,默认情况下会选择第一个
,因此如果不是第二个,您根本不需要添加任何内容。如果答案错误,则进行向下投票。因为你编辑了它,我删除了否决票。愉快的回答:)
($option='1'和&$option!='2')
是相当多余的。。。如果第一个是真的,那么第二个总是真的,反之亦然。只需编写
($option='1')
。谢谢你的提示。所以实际上应该像
@Dzoki是的,那会更简洁(只是不要忘记在1后面的结束
)。正确,但为了进一步扩展,第一个
是默认选择的,所以如果它不是第二个,你根本不需要添加任何内容。不,仍然是错误的。varaible
$选项
被定义为来自mysql查询,OP声明,从来没有人谈论过
$\u POST
。甚至不确定你是否读过Rikudo的答案,但它说“或者你是如何检索这个值的。”不,仍然是错的。varaible
$选项
被定义为来自mysql查询,OP声明,从来没有人谈论过
$\u POST
。甚至不确定您是否阅读了Rikudo的答案,但它说“或者您是如何检索此值的。”