0

選択したオプションがそのリストを含むグループ要素と等しいウィッチで選択リストを生成しようとしています。

これは私のコードです:

echo '<select title="Show Article in Group" id="edt-select-art">';

$result = mysqli_query($con,"SELECT * FROM groups");

$groups = array();
while($row = mysqli_fetch_array($result)) {
    array_push($groups, $row['0']);

    foreach($groups as $group) 
        { 
            if($gID == $group)
                {
                    echo '<option agid="'.$row['0'].'" selected>'.$row['2'].'</option>';
                }
            else
                {
                    echo '<option agid="'.$row['0'].'">'.$row['2'].'</option>';
                }
        }       

}
echo '</select>';

foreach を while の外側に置くとrow[]データが取得できませんが、内側に入れると値が 2 倍または 3 倍になります。これを機能させる方法についてのアイデアはありますか?

4

2 に答える 2

1

行[0]をプッシュする代わりに、行をグループにプッシュしてから、以下のようにグループ配列を反復処理します:

echo '<select title="Show Article in Group" id="edt-select-art">';

$result = mysqli_query($con,"SELECT * FROM groups");

$groups = array();

while($row = mysqli_fetch_array($result)) {
    array_push($groups, $row);


}
 foreach($groups as $group) 
        { 
            if($gID == $group[0])
                {
                    echo '<option agid="'.$group['0'].'" selected>'.$group['2'].'</option>';
                }
            else
                {
                    echo '<option agid="'.$group['0'].'">'.$group['2'].'</option>';
                }
        }       

echo '</select>';
于 2013-06-28T16:59:09.977 に答える
0

$groups配列は必要ありません。

echo '<select title="Show Article in Group" id="edt-select-art">';
$result = mysqli_query($con,"SELECT * FROM groups");
while($row = mysqli_fetch_array($result)) {
    echo '<option agid="'.$row['0'].'" '.($row['0'] == $gId ? 'selected' : '').'>'.$row['2'].'</option>';   
}
echo '</select>';
于 2013-06-28T17:02:13.763 に答える