PHP下拉选项";精选;

PHP下拉选项";精选;,php,selecteditem,Php,Selecteditem,我正在编写一个网页,该网页使用选择选项下拉菜单来更改MySQL表中的语言。目前只有两种语言选项。我只是想让菜单反映MySQL表中的当前值 我从MySQL检索值并将其分配给变量$valuelanguage。下面是我正在使用的php代码,它不起作用: <select id="language" name="language"> <?php if($valuelanguage=="en") { echo '<option selec

我正在编写一个网页,该网页使用
选择选项
下拉菜单来更改MySQL表中的语言。目前只有两种语言选项。我只是想让菜单反映MySQL表中的当前值

我从MySQL检索值并将其分配给变量
$valuelanguage
。下面是我正在使用的php代码,它不起作用:

<select id="language" name="language">                      
<?php 
if($valuelanguage=="en")
{
echo '<option selected value="en">English</option>';
echo '<option value="de">Deutsch</option>';
} 
else
{
echo '<option value="en">English</option>';
echo '<option selected value="de">Deutsch</option>';
}
?>
</select>


此时,如果my
$valuelanguage
被取消,则菜单应更改为“Deutsch”作为所选选项,但改为“English”。我哪里出错了?

问题不在于代码。我在最新版本的Firefox上测试了它,但是当我将
$valuelanguage
的值更改为
de
时,刷新(
F5
)不起作用。但是,当我按CTRL+F5时,更改生效


我认为这个问题的答案以及它提供的链接也很有帮助。

我将此功能从if-then-else改为case开关,无论刷新情况如何,它的功能都是完美的。代码如下:

<?php
$valuelanguage = mysql_query("SELECT value FROM configuration WHERE label='language'");
$lang = mysql_result($valuelanguage, 0);
{
switch ($lang) {
case "en":
echo '<option selected value="en">English</option>';
echo '<option value="de">Deutsch</option>';
break;
case "de":
echo '<option value="en">English</option>';
echo '<option selected value="de">Deutsch</option>';
break;
}
}
                                ?> 

使用类似的东西,告诉我它是否有效

<select id="language" name="language"> 
<option value="en" <?php if($valuelanguage=="en"){?> selected<?php }?>>English</option>
<option value="de" <?php if($valuelanguage=="de"){?> selected<?php }?>>Deutsch</option> 
</select>                     

>英式
>德国

>德国

试试这个。。。。如果$valuelanguage=en或de然后选择英语。因此,在编写鞋子代码时,您应该确保$valuelanguage==en或de

,如果$valuelanguage为en,则菜单应为所选的英语。。。不是Deutsch,你没有做错任何事……请注意,大多数浏览器在刷新页面时不会更改值。您必须执行强制刷新(例如shift-F5)才能执行完整的刷新,然后选择的选项才会更改。当然,我希望它在Deutsch时更改。我的观点是它没有改变。你是对的,我必须使用强制刷新,但这不会改变任何东西。我的字符串比较有错误吗?我使用了所有浏览器,没有任何更改。甚至连强制刷新都不起作用。
   <select id="language" name="language"> 
    <option value="en" <?php echo  $valuelanguage=="en"? "selected" :"";?> >English</option>
    <option value="de" <?php echo  $valuelanguage=="de"? "selected" :""; ?>>Deutsch</option> 
 </select>