保持在php中的foreach循环中检查多个同名复选框

时间:2015-07-10 05:48:25

标签: php checkbox

我已经问过这个问题,但找不到解决方案。在代码中进行了一些修改。请给我一个解决方案。我需要在表单提交后检查选中的复选框。代码如下。请帮忙。

     <? $i=0;
        while ($row=mysql_fetch_array($result,MYSQL_ASSOC))
        {

            $id="chkbox".$i;
      ?>
          <input type="checkbox" name="chkbx" onclick ="func()" id="<?echo   $id;">? value="<?echo $val \n;?>" <? echo "$val";?>
     <? $i=$i+1

     }
     ?>

现在在哪里以及如何包含框的已检查属性..

2 个答案:

答案 0 :(得分:0)

试试这个

<? $i=0;
$chkbox = array();
       if(isset($_SUBMIT))  
            $chkbox = $_POST['chkbx'];
       while ($row=mysql_fetch_array($result,MYSQL_ASSOC))
        {
            $checked ='';
            $id="chkbox".$i;
            if(in_array($val,$chkbox))
             $checked = 'checked="checked"';
      ?>
          <input type="checkbox" name="chkbx[]" onclick ="func()" id="<?php echo $id;?>" value="<?php echo $val \n;?>"  <?php echo $checked;?> ><?php echo "$val";?>
     <? $i=$i+1

     }
     ?>

答案 1 :(得分:0)

使用属性&#34;已选中&#34;对于所选复选框并将[]添加到name属性以将单个属性转换为值数组:

<input type="checkbox" checked="checked" name="chkbx[]" ...... >