2013-01-20 62 views
0

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

<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>  

回答

4

变量不在单引号内部进行分析。您可以使用串联在你的声明中其他变量,而不是$避免...

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

或切换到双引号..

+0

工作,谢谢:) – Learner

0

在PHP中,在单引号字符串将不会有变量他们内容解析。因此将会打印出如此的图案$sel。分别使用$sel'<option value="'.$id.'" '.$sel.'>')或使用双引号("<option value=\"$id\" $sel>")。

1

请试试这个: -

<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>