我在PHP文件的表中有一个复选框数组,如下所示:
echo "<td $Blocked><input type =\"checkbox\" name=\"Blocked[]\" value=\"checkblock\" /></td>";
我试图获取已选中复选框的数量值并将其保存到DB。
$Blocked = 'unchecked';
if ((isset($_POST['edit_tc']))) {
if (isset($_POST['Blocked'])) {
if (is_array($_POST['Blocked'])) {
foreach($_POST['Blocked'] as $value) {
error_log($value);
}
}
else {
$value = $_POST['Blocked'];
error_log($value);
}
$Blocked = 'checked';
}
}
&#34; edit_tc&#34;是提交按钮。
当用户选中复选框时,如何获取该数字?单击“提交”按钮将其保存到表格列?
答案 0 :(得分:0)
您可以使用此方法...
if ((isset($_POST['edit_tc']))) {
if (isset($_POST['Blocked']))
{
$data = $_POST['Blocked'];
foreach ($data as $checkedValue)
{
$qry = mysql_query("INSERT INTO `Table_name` WHERE `column_id` = '$checkedValue'");
}
}
}
这是用于将每个值保存为不同记录的方法......如果需要,可以修改它。
答案 1 :(得分:0)
我想以下代码可以解决您的所有问题。
<?php
$hello = array();
if(isset($_POST['submit'])) {
extract($_POST);
print_r($hello); //print all checked elements
}
?>
<form method="post">
<input type="checkbox" name="hello[]" value="1" <?php if(in_array(1, $hello)){ echo 'checked'; } ?>>
<input type="checkbox" name="hello[]" value="2" <?php if(in_array(2, $hello)){ echo 'checked'; } ?>>
<input type="checkbox" name="hello[]" value="3" <?php if(in_array(3, $hello)){ echo 'checked'; } ?>>
<input type="checkbox" name="hello[]" value="4" <?php if(in_array(4, $hello)){ echo 'checked'; } ?>>
<button type="submit" name="submit" value="Submit">Submit</button>
</form>
您必须使用PHP的in_array
函数检查您正在获取的复选框数组中每个复选框的值。
如果你需要了解整件事,请告诉我。
很乐意帮助你。
问候。
答案 2 :(得分:0)
您只需使用count()函数即可获取用户选中的复选框总数。 由于只有那些复选框值被发布到用户检查的提交页面,如果未选中复选框,则不会提交其值。即未提交的复选框在提交的页面上不存在。
使用:
$totalCheckboxChecked=count($_POST['Blocked']);