HTML-тег <select>. Выбранный параметр не отображается, если страница не обновлена
Так что у меня очень странная ошибка. У меня есть значение, $ll1_name, которое получено из запроса MySQL через PHP.
Вот пример кода:
$sql = mysql_query("SELECT data_txt FROM field_data WHERE itemid = $uid AND fieldid = 16");
$row = mysql_fetch_array($sql);
$ll1_key = $row[0];
//$ll1 = $row[0];
$sql = mysql_query("SELECT info FROM landlords WHERE key = '$ll1_key'");
$row = mysql_fetch_array($sql);
$ll1_name = $row[0];
^ который устанавливает переменные для правильных арендодателей, если они существуют для определенного арендатора.
<select name=ll1>
<?php
if (is_null($ll1_key)){
?>
<option selected> Empty </option>
<?php
}
else{
?>
<option selected value="<?php echo "$ll1_key"; ?>"> <?php echo "$ll1_name"; ?> </option>
<?php
}
while ($curLandlord = mysql_fetch_array($landlordRows)){
?>
<option value="<?php echo "$curLandlord[0]"; ?>"> <?php echo "$curLandlord[1]"; ?></option>
<?php
}
?>
</select>
^ Это заполняет раскрывающийся список. Если он нулевой, по умолчанию используется значение "Пусто". В противном случае он сделает выбранный вариант текущим землевладельцем.
Тем не менее, поле пустое. Исходный код страницы выглядит так:
<option selected value="ll1_72"> </option>
Вы можете видеть, что правильный ключ для арендодателя установлен в качестве значения; но мой php-код ничего не выводит для выбранного текста в поле. ОДНАКО, если вы обновите страницу, она загружается правильно с именем лендлорда. Но исходный код выглядит точно так же. Если я обновлю Firefox без кэшированных данных (Ctrl+ Shift+ R), то я все равно получу пустое поле после обновления.
Кто-нибудь знает, что происходит? Я вижу это поведение в нескольких браузерах (IE 11, Chrome и Firefox).