Php, Html选择问题


Php, Html selected Issue

以下是我的Php代码,所有国家都来自mysql数据库。这是一个用户配置文件区域,用户可以在其中更新他们的国家名称。但是在他提交他的国家名之后不是selected (html selected = selected)。可能是我的$sel变量问题。有人能修好它吗?

<select name="country" class="country"> 
<?php
$sql=mysql_query("select * from country");
while($row=mysql_fetch_array($sql))
{
$id=$row['Code'];
$data=$row['Name'];
    if($data == $country2)
    {
        $sel = 'selected = "selected"';
    }
    else
    {
        $sel = "";
    }
echo '<option value="'.$id.'" $sel>'.$data.'</option>';
}
?>
</select>       

单引号内不解析变量。您可以对语句中的其他变量使用串联,但不使用$sel…

echo '<option value="'.$id.'"' . $sel . '>'.$data.'</option>';

请试试:-

<select name="country" class="country"> 
<?php
$sql=mysql_query("select * from country");
while($row=mysql_fetch_array($sql))
{
$id=$row['Code'];
$data=$row['Name'];
    if($data == $country2)
    {
        $sel = 'selected = "selected"';
    }
    else
    {
        $sel = "";
    }
echo '<option value="'.$id.'"' . $sel . '>'.$data.'</option>';
}
?>
</select>       

在PHP中,单引号中的字符串不会解析其内容中的变量。因此,$sel将像这样被打印。可以单独使用$sel ('<option value="'.$id.'" '.$sel.'>'),也可以使用双引号("<option value='"$id'" $sel>")。