PHP:下拉框中的选定值

PHP:下拉框中的选定值,php,html,html-select,Php,Html,Html Select,我正在做一个下拉框,假设我们有“option1”和“option2”,下拉框选择(标记)了“option1”,然后我们选择了“option2”,我希望它在下拉框中标记“option2”,但它没有标记它 我试图避免在这一个上使用javascript,所以我想知道我是否只能在PHP上使用它 建议?谢谢 编辑。 问题是,在构建下拉菜单之前,我不知道我有多少个选项。我从数据库中的一个表中生成一个数组,并根据该数组进行选择。 代码: 根据更新的问题(包括代码)更新的答案 不要将句点放在“selected

我正在做一个下拉框,假设我们有“option1”和“option2”,下拉框选择(标记)了“option1”,然后我们选择了“option2”,我希望它在下拉框中标记“option2”,但它没有标记它

我试图避免在这一个上使用javascript,所以我想知道我是否只能在PHP上使用它

建议?谢谢

编辑。 问题是,在构建下拉菜单之前,我不知道我有多少个选项。我从数据库中的一个表中生成一个数组,并根据该数组进行选择。 代码:



根据更新的问题(包括代码)更新的答案

不要将句点放在“selected”的文本变量中

if(strcmp($tempDepartment, $department) == 0){
                $selected = "selected='selected'";
            }else{
                $selected = "selected=''";
            }
先前的答案

在为选择框生成HTML的PHP代码中,必须指定选择哪个选项

例如:

<select name="selectbox">
  <option <?php if ($_POST['selectbox'] == 'option1') echo 'selected="selected"';?>>option1</option>
  <option <?php if ($_POST['selectbox'] == 'option2') echo 'selected="selected"';?>>option2</option>
</selected>

>选择2
替代语法:

<select name="selectbox">
  <option <?= ($_POST['selectbox'] == 'option1')? 'selected="selected"' : '';?>>option1</option>
  <option <?= ($_POST['selectbox'] == 'option2')? 'selected="selected"' : '';?>>option2</option>
</selected>

>选择2

“下拉框选择(标记)“选项1”,然后我们选择“选项2”,我希望它在下拉框中标记“选项2”,但它不标记它。”你是什么意思?您选择了该值,但它以某种方式重置了?抱歉,capsyes重置后仍标记“选项1”不清楚。。。你能附上一段HTML/PHP吗?你能告诉我发生这种情况的网页吗?@Alexein页面刷新后会发生什么?我想你是对的,虽然你可以用
@Lawrencerone将这段代码删减,但它不会缩短很多,但我也按照你的建议添加了替代语法。
<select name="selectbox">
  <option <?php if ($_POST['selectbox'] == 'option1') echo 'selected="selected"';?>>option1</option>
  <option <?php if ($_POST['selectbox'] == 'option2') echo 'selected="selected"';?>>option2</option>
</selected>
<select name="selectbox">
  <option <?= ($_POST['selectbox'] == 'option1')? 'selected="selected"' : '';?>>option1</option>
  <option <?= ($_POST['selectbox'] == 'option2')? 'selected="selected"' : '';?>>option2</option>
</selected>