循环中的PHP获取值单选按钮

时间:2015-06-10 07:42:46

标签: php

我有这个html radiobutton:

<td align="center">
    <div class="radio radio-info radio-inline">
        <input type="radio" id="ok<?php echo $get_cp_id; ?>" value="OK" name="status[<?php echo $get_cp_id; ?>]">
        <label for="ok<?php echo $get_cp_id; ?>"></label>
    </div>
</td>
<td align="center">
    <div class="radio radio-info radio-inline">
    <input type="radio" id="ng<?php echo $get_cp_id; ?>" name="status[<?php echo $get_cp_id; ?>]" id="ng" value="NG">
    <label for="ng<?php echo $get_cp_id; ?>"></label>
    </div>
</td>

当我使用此函数将其处理为PHP时:

$get_status = $_POST['status'];
for ($i=0; $i<sizeof($get_status); $i++)
{
     echo $value = $_POST['status'][$i];
}

复选框的某些值不是索引。发现如下错误:

  

注意:未定义的偏移量:0 ...

2 个答案:

答案 0 :(得分:2)

如果您想要选择多个,则可以使用checkbox代替radiogroup。试试 -

name="status[]"

没有<?php echo $get_cp_id; ?> 然后它会将其生成为status[0] = value1 status[1] = value2 ...

循环将是 -

$get_status = $_POST['status'];
foreach($get_status as $status)
{
     echo $value = $status;
}

如果选项名称从1开始并按顺序进行,您需要在代码中将$i = 0更改为$i = 1

答案 1 :(得分:0)

你正在for循环中的php脚本中检查索引0,1,2 ....如果你在name元素中使用自动索引声明数组,那么它将正常工作。

<input type="radio" id="ok<?php echo $get_cp_id; ?>" value="OK" name="status[][<?php echo $get_cp_id; ?>]">

<input type="radio" id="ng<?php echo $get_cp_id; ?>" name="status[][<?php echo $get_cp_id; ?>]" id="ng" value="NG">