你好我有一个PHP代码,我在while循环中回显表单输入。我的代码的逻辑是我从表中选择问题,然后在获取行时,每次它都会回显一个表单以进行多项选择问题的测验。所以现在如果表格中有20个问题,我的代码将回复20个问题形式。现在,当我按下提交按钮时,我想从每个表单中获取每个所选单选按钮的值,并检查我的表的答案列。 这是我的代码:
<?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']
是单选按钮的表单值
答案 0 :(得分:1)
以下是使用计数器的一种解决方案,只有在打印完所有行后才添加提交标记
$count = 0;
while($row=mysqli_fetch_assoc($result))
{
$count = $count + 1;
if($count == Count($row)){
Add submit button here
}
}