0

次のソースを使用して DropDownList を作成しようとしています。データベースには、列「alias_name」に「オプション 1」、「オプション 2」、または「オプション 3」としてタグ付けされたテーブル行がいくつかあります。タグ付けされていない他の表の行は、「alias_name」列にヌルがあります。結果として入力された DropDownList にはすべての名前が表示されますが、名前に連結する必要がある " -- Option #" が含まれているのは、すべての行のうちの 1 つだけです。個別の DB クエリは、データがデータベースにあることを証明し、14 行のオプションの 1 つが適切に表示されるという事実は当惑します。アイデアはありますか?

<select name="event_names[]" multiple="multiple" size="6">
    <option value="all"<?php if(empty($event_names)||@in_array('all', $event_names))echo' selected';?>>ALL</option>

<?php
$m = Db::doQuery("SELECT name,alias_name FROM site_events WHERE name != '' GROUP BY name");
while ($n = $m->fetch_object()) {
    $e_alias = '';
    $e_name = $n->name;
    $e_alias = $n->alias_name;

    if($n->alias_name=='Option 1' || $n->alias_name=='Option 2' || $n- >alias_name=='Option 3') 
        {echo '<option value="'.$e_name.'"'.(@in_array($e_name, $event_names)?' selected':'').'>'.$e_name.' -- '.$e_alias.'</option>';}
    else  {echo '<option value="'.$e_name.'"'.(@in_array($e_name, $event_names)?' selected':'').'>'.$e_name.'</option>';}
} 
?>
</select>
4

0 に答える 0