2

私のページには 80 個のチェックボックスがあります。これらのチェックボックスは、製品のいくつかのオプションに属しています..

私はこのように保管しています

<input type="checkbox" name="options[]" value="<?php echo $row['value]?>"/>

データベース構造

**Product_id** | **Option_id**
     1                 16
     1                 45
     1                 68
     1                 78
     1                 80

問題は、オプションを更新するにはどうすればよいですか? ユーザーがページを更新すると、ユーザーはチェックされたオプションとチェックされていないオプションも表示できるはずです。チェックされたオプションを表示するにはどうすればよいですか?

このように、オプション値もデータベースに保存します

**id** | **Option_id** |
   1         16
   2         45
   3         68
   4         78      
   ....
   ....
   80

助けてくれてありがとう、私の英語でごめんなさい..

良い1日を

4

3 に答える 3

3

それらをフロントエンドでチェックして表示するには

製品のオプションの結果が配列にあるとしましょう$checked

それらを印刷するためにチェックをループしている間、これを使用します

<input type="checkbox" name="options[]" value="<?php echo $row['value']?>" <?php if(in_array($row['value'], $checked)){ echo 'checked="checked"'; }?>/>

更新には多くの方法がありますが、最も簡単な方法は次のとおりです。

すべてのオプションを削除してから、新しくチェックしたオプションを追加します

これが役立つことを願っています

于 2013-01-29T12:40:12.997 に答える
0
How can i show checked options?

属性を使用checked="checked"して、チェック ボックスをオンにすることができます。

how should i update options?

製品 1 に属するオプションを更新するとします。既存のオプションを削除して、新しいオプションを再度挿入する必要があります。

于 2013-01-29T12:36:06.393 に答える
0

このようなデータベース構造を使用する必要があります

**User_id** | **Product_id** | **Option_id** | **State**

オプション値の保存用 (各オプションが特定のユーザーと製品に関連付けられているため)、チェックボックスをレンダリングするときにデータベースからチェックボックスの状態値を使用します。

<input type="checkbox" name="options[]" value="<?= ($row['State] ? "checked": "unchecked") ?>"/>

データベースの更新とは、チェックボックスの変更イベントで AJAX リクエストを送信するか、フォーム全体の送信後に POST リクエストを送信することにより、チェックボックスの実際の状態に基づいてサーバー側の UPDATE クエリを実行することを意味します。

于 2013-01-29T12:38:07.187 に答える