2013-01-20 80 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>