こんにちは私はwhileループで入力をエコーするPHPコードを持っています。私のコードのロジックは、私はテーブルから質問を選択し、それが複数の選択問題のクイズのフォームをエコーするたびに、行をフェッチすることです。テーブルに20個の質問がある場合、私のコードは20個のフォームを質問でエコーします。送信ボタンを押すと、各フォームから選択した各ラジオボタンの値を取得し、自分のテーブルの回答欄で確認したいと思います。PHPはwhileループ内の入力フォームから値を取得します
<?php
include 'connection.php';
$query = "SELECT question,type,option1,option2,option3,option4,option5,option6,answer FROM question WHERE exam_id = '$exam_id'";
$result = mysqli_query($connection, $query);
while($row=mysqli_fetch_assoc($result))
{
if ($row['type'] == "mcq") {
echo '
<form class="form-horizontal" role="form" method="POST" action="">
<div class="form-group">
<div class="col-sm-10">
<p>'. $row["question"] . ' </p>
</div>
</div>
<div id="form-label">
<p class="alignleft"><b>Answer:</b></p>
<div style="clear: both;"></div>
</div>
<!-- Text input-->
<div class="form-group">
<div class="col-md-2">
A. <input type="radio" placeholder="" name="answer" value = "a" id="" required> ' . $row["option1"].
' </div>
</div>
<!-- Text input-->
<div class="form-group">
<div class="col-md-2">
B. <input type="radio" placeholder="" name="answer" value= "b" id=""> ' . $row["option2"].
'</div>
</div>
<!-- Text input-->
<div class="form-group">
<div class="col-md-2">
C. <input type="radio" placeholder="" name="answer" value= "c" id=""> ' . $row["option3"].'
</div>
</div>
<!-- Text input-->
<div class="form-group">
<div class="col-md-2">
D. <input type="radio" placeholder="" name="answer" value= "d" id=""> ' . $row["option4"].'
</form>';
}
?>
私の問題私は$_POST
値を取得するには、フォームが送信ボタンを配置する場所を知らない
: はここに私のコードです。私がループの中に置くと、すべての質問のために印刷されます。あるいは、ループの外側に置くと、フォームタグはそれまでに閉じられているので動作しません。
私はやってみたかったことは、私は$_POST['answer'] == $row['answer']
場合取ることで答えを確認したいすべての質問のために、$_POST['answer']
は、ラジオボタン
what is * not *あなたは何を持っているのですか? '$ exam_id'はどこから来ますか?あなたの質問は不明です。 –
$ _POST値を取得するためにフォーム送信ボタンをどこに置くべきかわかりません。私はループ内に置く場合は、すべての質問のために印刷されますか、またはフォームタグが閉じられているので、私はそれは動作しませんループの外に置く場合。 $ _POST ['answer'] == $ row ['answer']の場合、$ _POST ['answer']はフォームの値です。ラジオボタン –
あなたのエラーログを見て、開始のための非閉ループのループがあるので、実際にはコンパイルされないと思います。 – RiggsFolly