我正在处理动态填充数据库信息并需要保存为数组的自定义调查。我可以让一切正常工作,除了我想对许多答案使用星级评分系统,而且单选按钮似乎无法像这样工作:
<input type="radio" name="surveyRating[]" value="1" />
<input type="radio" name="surveyRating[]" value="2" />
<input type="radio" name="surveyRating[]" value="3" />
<input type="radio" name="surveyRating[]" value="4" />
<input type="radio" name="surveyRating[]" value="5" />
因为这个相同的代码有多个实例。这将被保存到一个数组中,以便surveyRating反复使用。如果我单击一组中的单选按钮,它会更改为另一组中的单选按钮。
我读过我可以用复选框来代替。这是最好的选择吗?或者我应该考虑其他选择吗?我希望最终产品的星级为 1-5。不确定我是否可以用复选框来做到这一点。
编辑
好的name="surveyRating[1]",就单选按钮在客户端不冲突而言,使用是有帮助的。但是,它没有按照我现在设置 php 的方式正确保存。这是它当前的保存方式。我需要改变什么才能使[1]工作适当。目前它只保存最后一次迭代。
$new = array();
$ratings = $_POST['surveyRating'];
$count = count( $ratings );
for ( $i = 0; $i < $count; $i++ ) {
if ( $ratings[$i] != '' ) {
$new[$i]['surveyRating'] = stripslashes( strip_tags( $ratings[$i] ) );
}
}
编辑 2
因此,为了演示我如何使用下面的答案完成此操作,我必须添加 [0] 作为循环中的第一次迭代。我正在使用$items = 0; $items++动态向每个循环添加一个数字。
为了使它从 0 开始,我将$items = -1第一次迭代设置为 0 而不是 1。希望这是有道理的。
温温酱