Как разбить массив и назначить куски в соответствующие поля флажков? - PullRequest
0 голосов
/ 06 сентября 2010

Следующая ситуация: я сохранил массив флажков с имплозой в поле таблицы mysql.Теперь, чтобы обновить флажки, я хочу прочитать содержимое поля таблицы, разбить его на части и присвоить соответствующим флажкам.

До сих пор мне удавалось считывать и анализировать содержимое поля таблицы.в разные куски, моя сложность заключается в том, как назначить соответствующие флажки.

Вот поле флажка:

<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 />";
    }

Содержимое чанка соответствует полю значения флажка.Так что мне нужно в основном:

если 'chunk content' = 'значение флажка', то <?php $appbox_checked ?> будет отображать 'check'

Или, возможно, есть более простое решение.Спасибо за помощь, ребята!

Ответы [ 2 ]

1 голос
/ 06 сентября 2010

Самый простой способ - использовать in_array():

Место, где вы пишете <?php $appbox_checked ?>, замените его следующим (пример Автомобильный )

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

Аналогично для всех строк. например для подсветки , замените ее на:

 <?php if(in_array('Backlights', $storebox)) echo 'checked="checked"'; ?>
0 голосов
/ 06 сентября 2010

Все, что вам нужно сделать, это добавить атрибут к элементам ввода вашего флажка, который называется флажком, со значением да, когда ваш код должен отобразить флажок «флажок»:

<input type="checkbox" checked="yes" name="sports" value="soccer" />
...