0

現在、送信されたフォームのすべての回答を保存するために、データベースに answer という列があります。今のところ、フォーム自体には「保存」ボタンがあり、ユーザーがその時点で自由にフォームを終了できない場合は、フォームを保存できます。フォームが保存されると、すべての回答がデータベースに挿入されます。

今私の質問は、質問自体に「1,2,3,4,5」のオプションがある場合、チェックボックスの入力回答が「1,2,3」の例として挿入されていることです。そのため、foreach ループを使用してデータを分離し、if/else ステートメントを使用して同じかどうかを確認し、目盛りとしてマークしました。しかし、質問形式は次のようになります

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」です。

2 番目の 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
                            } } } } ?>

必要な出力を取得することは可能ですか? 助けてくれてありがとう!

4

0 に答える 0