多项RadioButtons组

时间:2012-01-26 15:10:03

标签: php html radio-button

有一个表单,其中包含一个在PHP中动态创建的项目列表,每个都有它的id(我的意思是数据库ID,而不是元素)。
每个项目有两个radiobuttons(好,坏) 有没有办法让PHP中的所有项目数组都是坏的,所有项目都是好的,好像我使用的名称为good []和bad []以及value =“id”的复选框。

有没有办法用radiobuttons做这个?

<form action="some.php" method="post">
    item 1: <br/>
    <input type="radio"/>Leave<br/>
    <input type="radio"/>Delete<br/>
    item 2: <br/>
    <input type="radio"/>Leave<br/>
    <input type="radio"/>Delete<br/>
</form>

2 个答案:

答案 0 :(得分:1)

不,你不能像复选框那样做。

相反,您需要接受radiogroups的所有name =“”并循环遍历它们,在接受表单后在PHP中构建您自己的数组。

<form>
<input type="radio" name="question1" value="good" /> Good<br />
<input type="radio" name="question1" value="bad" /> bad
<input type="radio" name="question2" value="good" /> Good<br />
<input type="radio" name="question2" value="bad" /> bad
</form>

<?php
$questions = array('question1', 'question2');
foreach($questions as $q) {
    if(isset($_POST[$q])) {
        switch($_POST[$q]) {
            case 'good':
                $good += 1;
                break;
            case 'bad':
                $bad += 1;
                break;
            default:
                // invalid value
        }
    }
}

答案 1 :(得分:0)

您可以制作如下表格:

<form action="some.php" method="post">
    <?php foreach ($ids as $i => $id) : ?>
    item <?php echo $i+1 ?>: <br/>
    <input type="radio" name="item[<?php echo $id ?>]" value="good"/>Leave<br/>
    <input type="radio" name="item[<?php echo $id ?>]" value="bad"/>Delete<br/>
    <?php endforeach; ?>
</form>

然后在some.php中,$_POST['item']将为您提供如下数组:

array(
    'item_id1' => 'good',
    'item_id2' => 'bad',
    .....
)