使用foreach循环检查复选框答案

时间:2013-06-14 08:05:02

标签: php arrays checkbox foreach

目前,我在数据库中有一个名为answer的列,用于存储提交表单的所有答案。目前,表单本身有一个“保存”按钮,用户可以保存表单,如果它们在某个时间点无法自由完成。保存表单时,所有答案都将插入到数据库中。

现在我的问题是,如果问题本身有“1,2,3,4,5”选项,我的复选框输入答案将作为示例“1,2,3”插入。所以我使用foreach循环将数据分开并使用if / else语句来检查它是否相同,标记为tick。但问题格式最终会像

x 1
  2
x 2
  3
  3
x 3
  4
  4
  4
  5
  5
  5

我想要的输出是:

x 1
x 2
x 3
  4
  5 

打印复选框的代码如下:

第一个foreach是问题的选项,例如“1,2,3,4,5”。

第二个foreach是用户在保存表单后选择的答案,例如“1,2,3”。

foreach ($arr as $row => $name) {
                        $arr = $name;    
if ($input == 'Multiple choice (multiple answers) [Check box]') {
                                 foreach ($arrAns as $values) {
                            if ($arr == $values) {  ?>
                                <input type="checkbox" name="<?php echo 'qns' . $qID; ?>[]" value="<?php echo $arr; ?>" class="required" checked/> <?php echo $arr; ?><br/>
                            <?php break; } else { ?>
                                <input type="checkbox" name="<?php echo 'qns' . $qID; ?>[]" value="<?php echo $arr; ?>" class="required"/> <?php echo $arr; ?><br/>
                                <?php
                            } } } } ?>

是否可以获得我想要的输出?谢谢你的帮助!

0 个答案:

没有答案