有一个表单,其中包含一个在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>
答案 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',
.....
)