PHP从while循环中获取输入表单中的值

时间:2017-07-19 14:44:37

标签: php mysql

你好我有一个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']是单选按钮的表单值

1 个答案:

答案 0 :(得分:1)

以下是使用计数器的一种解决方案,只有在打印完所有行后才添加提交标记

$count = 0;
while($row=mysqli_fetch_assoc($result))
{
 $count = $count + 1;

 if($count == Count($row)){
   Add submit button here
 }
}