0

次の状況:mysqlテーブルフィールドにimplodeを含むチェックボックス配列を格納しました。ここで、チェックボックスを更新するために、テーブルフィールドの内容を読み取り、それをその部分に分解して、それぞれのチェックボックスに割り当てます。

これまでのところ、テーブルフィールドのコンテンツを読み取ってさまざまなチャンクに分解することができましたが、それぞれのチェックボックスに割り当てる方法が難しかったです。

チェックボックスフィールドは次のとおりです。

<tr>
   <td><input class="field checkbox" type="checkbox" name="appbox[]" value="Automotive" <?php $appbox_checked ?> /><label class="choice">Automotive</label></td>
   <td><input class="field checkbox" type="checkbox" name="appbox[]" value="Backlights" <?php $appbox_checked ?> /><label class="choice">Backlights</label></td>
   <td><input class="field checkbox" type="checkbox" name="appbox[]" value="LED lighting" <?php $appbox_checked ?> /><label class="choice">LED lighting</label></td>
  </tr>
  <tr>
   <td><input class="field checkbox" type="checkbox" name="appbox[]" value="IR" <?php $appbox_checked ?> /><label class="choice">IR</label></td>
   <td><input class="field checkbox" type="checkbox" name="appbox[]" value="Signage/Traffic Lights" <?php $appbox_checked ?> /><label class="choice">Signage/Traffic lights</label></td>
   <td><input class="field checkbox" type="checkbox" name="appbox[]" value="Mobile Devices" <?php $appbox_checked ?> /><label class="choice">Mobile devices</label></td>
  </tr>

そしてここにphpコードがあります:

$storebox = explode(", ", $chunk0);
    for($i = 0; $i < count($storebox); $i++){
    echo "Piece $i = $storebox[$i] <br />";
    }

チャンクの内容は、チェックボックスの値フィールドと一致します。だから私が必要なのは基本的に:

'チャンクコンテンツ'='チェックボックス値'の場合<?php $appbox_checked ?>は'チェック済み'をエコーし​​ます

または、もっと簡単な解決策があるかもしれません。みんな助けてくれてありがとう!

4

2 に答える 2

1

最も簡単な方法は、以下を使用することin_array()です。

あなたが書いている場所、<?php $appbox_checked ?>それをこれに置き換えてください(例Automotive

 <?php if(in_array('Automotive', $storebox)) echo 'checked="checked"'; ?>

同様に、すべての行について。たとえば、バックライトの場合は、次のように置き換えます。

 <?php if(in_array('Backlights', $storebox)) echo 'checked="checked"'; ?>
于 2010-09-06T05:02:57.187 に答える
0

あなたがしなければならないのは、コードが「チェックされた」チェックボックスをレンダリングする必要があるときに、yesの値でチェックされたと呼ばれるチェックボックス入力要素に属性を追加することです。

<input type="checkbox" checked="yes" name="sports" value="soccer" />
于 2010-09-06T05:01:45.513 に答える