これについて助けが必要で、これを行う方法を考えると非常に混乱します。
フォーム、更新/編集フォームがあり、その中に複数選択されたリストボックスがあります。
私のデータベースレコードでは:
ID Items
1 Apple
2 Banana
3 Orange
4 Pear
5 Starfruit
そして、ユーザーが編集をクリックすると、以前に保存されたデータに従ってリストボックスが強調表示されたこのフォームに移動します。
ユーザーが更新をクリックすると、更新フォームのリストボックスは次のようになります。
<option selected>Apple</option> <-- highlighted
<option>Banana</option>
<option selected>Orange</option> <-- highlighted
<option>Pear</option>
<option selected>Starfruit</option> <-- highlighted
これは、以前に保存された最初に選択した項目に従ってユーザーに表示されるものです。
現在、私はそれをハードコーディングしています:
<?php
$select=mysql_query("select * from products_list where id='$id' ");
while($row=mysql_fetch_array($select)){
$product_category = explode("\n", $row['category']);
$i=0;
echo '<select name="product_category[]" id="category" size="9" multiple="multiple"><option value="Black" ';
if ($product_category[$i] == "Black" ){ echo 'selected="selected"'; $i++; }
echo '>Black</option><option value="White" ';
if ($product_category[$i] == "White" ){ echo 'selected="selected"'; $i++; }
echo '>Black</option><option value="Blue" ';
if ($product_category[$i] == "Blue" ){ echo 'selected="selected"'; $i++; }
echo '>Black</option>';
}
?>
などなど。一部だけ挙げておきます。リストボックスのオプションがハードコーディングされていない場合、これを行う方法はありますか?
皆さんが理解してくれることを願っています。前もって感謝します。