現在、送信されたフォームのすべての回答を保存するために、データベースに 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
} } } } ?>
必要な出力を取得することは可能ですか? 助けてくれてありがとう!