计算多少复选框被检查php / html

时间:2013-09-02 11:36:55

标签: php html checkbox

您好我是php的新手,我想知道在点击提交后如何计算检查了多少'checkbox'。 例如:

<input type = "checkbox" value = "box" name = "checkbox1"/>
<input type = "checkbox" value = "box" name = "checkbox2"/>
<input type = "checkbox" value = "box" name = "checkbox3"/>

7 个答案:

答案 0 :(得分:14)

将复选框名称作为数组,如

<input type = "checkbox" value = "box" name = "checkbox[]"/>

提交之后尝试

$checked_arr = $_POST['checkbox'];
$count = count($checked_arr);
echo "There are ".$count." checkboxe(s) are checked";

注意:并且根据您的表单提交的方法使用...是$_GET还是$_POST,您需要使用$_POST['checkbox'] < strong> POST 方法和$_GET['checkbox'] GET 方法。

答案 1 :(得分:1)

<input type = "checkbox" value = "box" name = "checkbox"/>
<input type = "checkbox" value = "box" name = "checkbox"/>
<input type = "checkbox" value = "box" name = "checkbox"/>

检查哪些方框已经检查过,只需遍历chk [] 像这样的数组:

$chk_array = $_POST['checkbox'];

for($chk_array as $chk_key => $chk_value)
{
print 'Checkbox Id:'. $chk_key . ' Value:'. $chk_value .'is
checked';
}

答案 2 :(得分:1)

您必须重命名名称并添加值

<input type = "checkbox" value = "box" name = "checkbox[]" value="1"/>
<input type = "checkbox" value = "box" name = "checkbox[]" value="2"/>
<input type = "checkbox" value = "box" name = "checkbox[]" value="3"/>

通过这种方式,您不仅可以知道数字(实际上并不需要)

echo count($_POST['checkbox']);

但也有实际选择的值:

foreach($_POST['checkbox'] as $val)
{
    echo "$val<br>\n";
}

答案 3 :(得分:0)

使用jQuery可以实现它:

$("input:checkbox:checked").length

这将返回检查的checbox数量。

在php中,您需要将其作为数组传递。

echo count($_POST['checkbox']);

答案 4 :(得分:0)

$checkedBoxes = 0;

// Depending on the action, you set in the form, you have to either choose $_GET or $_POST
if(isset($_GET["checkbox1"])){
  $checkedBoxes++;
}
if(isset($_GET["checkbox2"])){
  $checkedBoxes++;
}
if(isset($_GET["checkbox3"])){
  $checkedBoxes++;
}

答案 5 :(得分:0)

您可以将复选框的名称设置为数组:

<input type = "checkbox" value = "box" name = "checkbox[1]"/>
<input type = "checkbox" value = "box" name = "checkbox[2]"/>
<input type = "checkbox" value = "box" name = "checkbox[3]"/>

然后你将有一个PHP数组($_POST['checkbox']):

echo count( $_POST['checkbox'] ); // this will give you the count

否则你可以迭代它们中的每一个并增加一个变量:

$counter = 0;
foreach( array('checkbox1', 'checkbox2', 'checkbox3') as $name ) {
  if( isset( $_POST[ $name ] ) {
     $counter++
  }
}
echo $counter;

答案 6 :(得分:-1)

点击提交后,所有选中的框都会出现在请求中。 在您的情况下,如果选中checkbox1,则获取: “checkbox1 =框”

如果您使用 GET 作为方法,它将如下所示:http://yoururl.com/yourcode.php?checkbox1=box并且您可以使用$ _GET ['checkbox1']

来访问它

如果你使用 POST 作为方法,你可以使用$ _POST ['checkbox1']

来访问它

您还可以使用isset($ _ POST ['checkbox1'])检查是否已选中此框(并在请求数据中)