2010-12-06 5 views
0

奇妙な問題国名が選択されているドロップダウンボックスに表示されなくなっています。誰もそれを引き起こしているコーディングエラーを見つけることができますか?奇妙な選択ドロップダウンボックスエラー。内容がページにあふれ出ている

echo "<select name=recordcountry style='width: 136px;'>"; 
//echo "<option value=$country selected=selected>-- Select --</option>"; 
echo "<option ". ($data['recordcountry'] == "" ? 'selected=selected>-- Select --</option>' : 'value="' .$data['recordcountry']. '" selected=selected'); 

$group1 = '<optgroup label=Common>'; 
$group2 = '<optgroup label=Alphabetically>'; 
$group = mysql_query("SELECT country, grouping, p_order FROM mast_country 
WHERE grouping IN ('1','2') ORDER BY p_order"); 
while($row = mysql_fetch_array($group)) 
{ 
    if ($row['grouping'] == '1') 
    { 
     $group1 .= '<option value="'.$row['country'].'">'. 
      $row['country'].'</option>'; 
    } 
    else 
    { 
     $group2 .= '<option value="'.$row['country'].'">'. 
      $row['country'].'</option>'; 
    } 
    $group1 .= '</otpgroup>'; 
    $group2 .= '</otpgroup>'; 

    echo $group1; 
    echo $group2; 
    echo "</select>"; 
} 
+0

あなたはそれが生成するHTMLを投稿することができましたか? – lotsoffreetime

+0

空白を含むものだけでなく、すべてのタグ引数を実際に引用するべきです! – ThiefMaster

+0

@ user18248すべての国名はドロップダウンボックスの外に表示されています。またはを修正しましたが修正できませんでした – acctman

答えて

1

それは</optgroup>、ない</otpgroup>です。

echo "<option ". ($data['recordcountry'] == "" ? 'selected=selected>-- Select --</option>' : 'value="' .$data['recordcountry']. '" selected=selected'); 

も意味がありません。非常に混乱しており、</option>を追加していません。 2行に分割し、IF文を使用し、

echo '<option value="'.$data['recordcountry'].'"'.($data['recordcountry'] ? '' : ' selected="selected"').'>'.($data['recordcountry'] ? $data['recordcountry'] : '--Select--').'</option>'; 

あるいはさらに良い: はここより良いバージョンです

if($data['recordcountry']) 
    echo '<option value="'.$data['recordcountry'].'">'.$data['recordcountry'].'</option>'; 
else 
    echo '<option value="" selected="selected">--Select--</option>'; 
0

私は問題はこのラインであると思います。

echo "<option ". ($data['recordcountry'] == "" ? 'selected=selected>-- Select --</option>' : 'value="' .$data['recordcountry']. '" selected=selected'); 

$data['recordcountry'] == ""の場合、終了タグは付加されません。このようなものでなければならないと思います。

echo "<option ". ($data['recordcountry'] == "" ? 'selected=selected>-- Select --</option>' : 'value="' .$data['recordcountry']. '" selected='selected'>" . $data['recordcountry'] . "</option>"); 

編集:そして、何ThiefMasterが

関連する問題