Я программирую веб-страницу, которая использует select option
выпадающее меню для изменения языка в таблице 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>
На данный момент, если мой $valuelanguage
является де тогда меню должно измениться на «Deutsch» в качестве выбранной опции, но вместо этого оно останется «English». Куда я иду не так?
Проблема не в вашем коде. Я протестировал его на последней версии Firefox, но обновление (F5
) не работает при изменении значения $valuelanguage
в de
, Тем не менее, когда я нажимаю CTRL+F5
, изменение вступает в силу.
Я думаю, что ответ на этот вопрос, со ссылками, которые он предоставляет, тоже полезно.
Я изменил эту функцию с if then else на переключение регистра вместо этого, которое прекрасно работает независимо от обновления. Вот код:
<?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>
<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>
попробуйте это …. если $ valuelanguage! = en или de, то выберите английский. поэтому вы должны быть уверены, что $ valuelanguage == ru или de