PHP POST复选框列表中的所有值

时间:2014-07-11 18:19:40

标签: php

动态创建复选框列表,然后在另一页上进行POST检索。

首先,提前致谢。

关于表单中复选框的最佳实践的几个问题,然后是$ _POST。

家庭画册的东西。我从兄弟数据库中获取一个数组并将其放入循环中。

问题1- 想要在另一个页面上检索此信息以使“name”成为familyPictureID或者我应该将其放在“value”中时,这是最佳做法吗?

循环内的表元素示例:

<td data-label="Active">
<input class="checky" type="checkbox" name="cList[<?php echo $row['familyPictureID']; ?>]"
<?php if($row['active']==1) { echo 'value="1" CHECKED>';
} else { echo 'value="0">'; } 
?>
</td>

问题2- 在辅助页面上检索此信息时,如何从复选框中获取所有值?我想知道他们是否被检查,但也将它与'familyPictureID'配对。这是正确的最佳做法吗?

我试图让他们这样:

if(!empty($_POST['cList'])) {
echo "check box test <pre>";
print_r($_POST['cList']);
echo "</pre>";

foreach($_POST['cList'] as $familyPictureID) {
echo "check=$familyPictureID<br>";
}
}

然后,我会将此信息发送回我的兄弟数据库,并对这些家庭照片进行更新,无论是否进行了检查。

这有意义吗?

提前致谢。我搜索了类似的东西,但是这里的人正在做一些复杂的事情,这似乎超出了我想要做的范围。

谢谢! -MT

1 个答案:

答案 0 :(得分:1)

你可以这样做。如果您将ID放在名称中,那么您可以写:

foreach (array_keys($_POST['cList']) AS $id) {
    echo "check=$id<br>";
}

如果你把ID放在值中,你会写:

foreach ($_POST['cList'] AS $id) {
    echo "check=$id<br>";
}

只有已检查的框才会发送到服务器,因此这两个框都将遍历选中的框。

如果您有其他输入字段也是基于ID的数组,那么为了保持一致性,我建议您使用复选框执行相同的操作。