计数选中的复选框(数组)数&保存选中的复选框

Count checked checkbox(array) numbers & saving checked checkboxes

本文关键字:复选框 amp 保存 数组      更新时间:2023-09-26

我在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';
    }
}

"edit_tc"是"提交"按钮。

当用户选中复选框&是否单击"提交"按钮将其保存到表列?

我想下面的代码将解决您的所有问题。

<?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函数获得的复选框数组中检查每个复选框的值。

如果你需要了解整件事,请告诉我。

很乐意帮助你。

谨致问候。

您可以使用此方法。。。

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'");
   }
  }
}

这是将用于将每个值保存为不同记录的方法。。。如果需要,可以对其进行修改。

您可以简单地使用count()函数来获取用户选中的复选框总数。由于只有用户选中的复选框值才会发布到提交的页面上,如果未选中复选框,则不会提交其值。即未选中的复选框将不存在于提交的页面上。

用途:

    $totalCheckboxChecked=count($_POST['Blocked']);