HTML<;选择>;标签除非刷新页面,否则所选选项不会显示


HTML <select> tag. Selected option does not display unless page is refreshed

所以我有一个非常奇怪的错误。我有一个值$ll1_name,它是通过PHP从MySQL查询中派生出来的。

以下是示例代码:

$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)中看到了这种行为。

也许不用引号试试:

<?php echo $ll1_name; ?>