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

时间:2014-09-24 09:53:01

标签: javascript php checkbox

我在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;是提交按钮。

当用户选中复选框时,如何获取该数字?单击“提交”按钮将其保存到表格列?

3 个答案:

答案 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']);