0

以下は、すべての国がmysqlデータベースから取得された私のPHPコードです。これは、ユーザーが国名を更新できるユーザー プロファイル領域です。しかし、彼が国名を提出した後、それは選択されていません (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>       
4

3 に答える 3

4

単一引用符内の変数は解析されません。ステートメントの他の変数には連結を使用しますが、$sel は使用しません...

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

または二重引用符に切り替えます..

于 2013-01-20T14:15:53.090 に答える
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>       
于 2013-01-20T14:16:58.990 に答える
0

PHP では、一重引用符で囲まれた文字列は、その内容の変数が解析されません。$selしたがって、そのように印刷されます。$sel別々に使用するか( '<option value="'.$id.'" '.$sel.'>')、二重引用符 ( "<option value=\"$id\" $sel>") を使用します。

于 2013-01-20T14:16:27.330 に答える