Я пытаюсь создать форму администратора, которая позволяет пользователям выбирать свои требования и сохранять их в БД, используя отношение «многие ко многим». Я могу сгенерировать элементы формы, используя приведенное ниже значение, в то время как l oop и отправить их
while ($rows = $equipresults->fetch()) {
$eqid = $rows['req_id'];
$eqname = $rows['requirement'];
echo "
<label class='checkbox'>
<input type='checkbox' name='requirement[]' value='$eqid'> $eqname
</label><br>
";}
Приведенный выше код выдает следующее:
Когда я вернусь в форме после отправки флажки не проверяются, даже если значения добавлены в БД. Я понимаю, почему выше ничего не возвращает.
Итак, мой вопрос: как я могу написать al oop, который позволяет мне отображать флажки как проверенные в виде массива, как показано ниже?
$equipresult = array (
[0] => Array ( [artistid] => 2 [req_id] => 1 [requirement] => Microphone )
[1] => Array ( [artistid] => [req_id] => 2 [requirement] => Table )
[2] => Array ( [artistid] => 2 [req_id] => 3 [requirement] => Chair )
[3] => Array ( [artistid] => [req_id] => 4 [requirement] => Microphone Stand )
[4] => Array ( [artistid] => [req_id] => 5 [requirement] => Personal Artifacts )
[5] => Array ( [artistid] => [req_id] => 6 [requirement] => Set Dressing )
[6] => Array ( [artistid] => [req_id] => 7 [requirement] => Raised Step )
[7] => Array ( [artistid] => [req_id] => 8 [requirement] => Other ) )
Я пытаюсь отобразить нижеприведенное, основываясь на приведенном выше массиве
Я играл с foreach l oop, но мне просто не удается установить флажки. Как мне l oop через вышеуказанный массив и, если artistid = 2, показать это как «проверено» в html, когда foreach l oop генерирует
$req=explode(",",$rows['requirement']);
if (!empty($equipresult)) {
foreach ($equipresult as $row) {
$checked = (in_array($row, $req)) ? 'checked="checked"' : '';
?>
<label class='checkbox'>
<input type="checkbox" name="requirement[]" value="<?php echo $row;?>"
<?php $checked;?>><?php echo implode(", ", $row);?>
</label><br>
<?php
}
}
?>
В конечном счете, я пытаясь избежать жесткого кодирования html. Любое руководство здесь будет очень цениться. Я также уверен, что, возможно, есть действительно простой способ сделать это.