0

私のシナリオは、このスレッドのシナリオに少し似ています: PHP - mysql からドロップダウンリストの選択された値を記憶する

しかし、私のフィールドには複数の値があり、データベースに従ってこれらの値をリストボックスの選択に選択したいと考えています。

foreach ループを使用する必要があるという大まかな考えがあります (間違っている場合は修正してください)。また、フィールド内の複数の値に対して文字列を爆発 () する必要があります。

私のフォームにリストボックスオプション「1、2、3、4、5」があり、このユーザーがリストボックス値「1、2、3」のみでフォームを送信したとします。

リストボックスを取得して、オプション「1、2、3」を強調表示し、オプション「4、5」を強調表示しないようにするにはどうすればよいですか?

よろしくお願いします。

これまでに書いたコードは次のとおりです。

PHP を使用した HTML 更新フォーム:

<form action="" method="post" enctype="multipart/form-data">
<table class="product_upload_table" cellpadding="0" cellspacing="0" border="0">

<?php
    $select=mysql_query("select * from products_list where id='$id' "); 
    while($row=mysql_fetch_array($select)){     
?>
<select name="product_category[]" id="category" size="5" multiple="multiple">

<option value="Available Stock">Available Stock</option>
    <option value="Black">Black</option>
    <option value="New Arrival">New Arrival</option>
    <option value="Ruffles">Ruffles</option>
    <option value="White">White</option>
</select>
<?php 
}
?>

<div class="button"><input type="submit" name="update" value="Update"/></div>
</form>

</table>

<?php

$product_category = implode("\n", $_POST['product_category']);

if(isset($_POST['update'])){
$update_product=mysql_query("update products_list set category='$product_category'");
}
?>

これで十分に理解できるかどうかはわかりません。開始方法がわからないため、リストボックスへの PHP コードの書き込みを開始していません。

よろしく、ジェフ

4

1 に答える 1

0

リストボックスを取得して、オプション「1、2、3」を強調表示し、オプション「4、5」を強調表示しないようにするにはどうすればよいですか?

$data = array('Available Stock', 'Black', 'New Arrival', 'Ruffles', 'White');
echo '<select name="data">;
foreach ($data as $value) {
    echo '<option value="'.htmlentities($value).'";
    if (isset($result[$id])) echo ' selected';
    echo '>'.$value.'</option>';
}
echo '</selected>';
于 2012-07-24T04:29:40.217 に答える