У меня есть следующий флажок, созданный циклом:
<input type='checkbox' value=0 name='<?php echo $question_id; ?>' />
Каждый флажок имеет другой идентификатор, и когда пользователь проверяет несколько флажков, я хотел бы собрать все идентификаторы и вставить их в таблицу, которая связывает таблицу «событие» с таблицей «вопросы».
Однако я не получаю идентификаторы … Я знаю, что я должен использовать массив, но это в атрибуте name или атрибуте values? Кроме того, как мне передать идентификаторы … это происходит в поле значений?
В HTML:
<input type='checkbox' value=1 name='checkboxname[<?php echo $question_id; ?>]' />
В PHP:
$set_checkboxes = array_keys($_POST['checkboxname']);
Или, альтернативно:
В HTML:
<input type='checkbox' value="<?php echo $question_id; ?>" name='checkboxname[]' />
В PHP:
$set_checkboxes = $_POST['checkboxname'];
Я считаю, вам нужно что-то вроде ..
<input type='checkbox' value=<SOME UNIQUE VALUE> name='field_name[]' />
Вы пройдете через field_name
которое будет массивом.
Попытайтесь изменить свой вклад на это.
<input type='checkbox' value='<?php echo $question_id; ?>' name='questions[]' />
Теперь, когда вы получите сообщение с php, он вернет массив со всеми идентификаторами вопросов
$questionIds = $_POST['questions'];
Ваш html:
<form method="post" action=""> <input type="checkbox" id="things[]" value="red"> Cat<br> <input type="checkbox" id="things[]" value="blue"> Mouse<br> <input type="checkbox" id="things[]" value="green"> Car<br> <input type="checkbox" id="things[]" value="yellow"> DaniWeb </form>
Ваш PHP:
<?php $things = serialize($_POST['things']); $query = "INSERT INTO table(things) values($things)"; mysql_query($query) or die(mysql_error()); ?>