检查答案并从数据库中验证它在PHP中是否正确

检查答案并从数据库中验证它在PHP中是否正确,php,mysql,database,Php,Mysql,Database,从数据库中提取问题并在屏幕上显示逻辑部分是什么,或者如何实现以检查所选答案是否正确,以及如何将正确答案存储在数据库中并验证它们 这是密码 <?php // Create connection $conn = new mysqli("localhost","root","","QuizQuestions"); // Check connection if ($conn->connect_error) { die("Connection failed: " . $conn->c

从数据库中提取问题并在屏幕上显示逻辑部分是什么,或者如何实现以检查所选答案是否正确,以及如何将正确答案存储在数据库中并验证它们

这是密码

<?php

// Create connection
$conn = new mysqli("localhost","root","","QuizQuestions");

// Check connection
if ($conn->connect_error) {
die("Connection failed: " . $conn->connect_error);
} 
echo "Connected successfully<br><br>";

$sql = "SELECT Question, Answer1, Answer2, Answer3, Answer4 FROM Questions";
$result = $conn->query($sql);

if ($result->num_rows > 0) {
// output data of each row
$i = 1;
while ($row = $result->fetch_assoc()) {
echo "<br>Question: " . $row["Question"] . "<br>";
echo ' A) <input type="radio" name="ans' . $i . '" value="' . 
$row["Answer1"] . '">' . $row["Answer1"] . '<br>';
echo ' B) <input type="radio" name="ans' . $i . '" value="' . 
$row["Answer2"] . '">' . $row["Answer2"] . '<br>';
echo ' C) <input type="radio" name="ans' . $i . '" value="' . 
$row["Answer3"] . '">' . $row["Answer3"] . '<br>';
echo ' D) <input type="radio" name="ans' . $i . '" value="' . 
$row["Answer4"] . '">' . $row["Answer4"] . '<br>';
$i++;
}
} else {
echo "0 results";
}
$conn->close();

?>

因为所有的
收音机
输入都有相同的名称。他们都将被视为同一个广播组。不同的问题需要有不同的名称。类似于-

$i = 1;
while ($row = $result->fetch_assoc()) {
    echo "<br>Question: " . $row["Question"] . "<br>";
    echo ' A) <input type="radio" name="ans' . $i . '" value="' . $row["Answer1"] . '">' . $row["Answer1"] . '<br>';
    echo ' B) <input type="radio" name="ans' . $i . '" value="' . $row["Answer2"] . '">' . $row["Answer2"] . '<br>';
    echo ' C) <input type="radio" name="ans' . $i . '" value="' . $row["Answer3"] . '">' . $row["Answer3"] . '<br>';
    echo ' D) <input type="radio" name="ans' . $i . '" value="' . $row["Answer4"] . '">' . $row["Answer4"] . '<br>';
    $i++;
}
$i=1;
而($row=$result->fetch_assoc()){
回显“
问题:”.$row[“问题”]。“
”; 回显'A'。$row[“Answer1”]。
; 回音“B)”.$row[“Answer2”]。
; 回音'C'。$row[“Answer3”]。
; 回声'D'。$row[“Answer4”]。
; $i++; }

您还可以使用行
id
而不是
$i

因为所有的
无线电输入都有相同的名称。他们都将被视为同一个广播组。不同的问题需要有不同的名称。类似于-

$i = 1;
while ($row = $result->fetch_assoc()) {
    echo "<br>Question: " . $row["Question"] . "<br>";
    echo ' A) <input type="radio" name="ans' . $i . '" value="' . $row["Answer1"] . '">' . $row["Answer1"] . '<br>';
    echo ' B) <input type="radio" name="ans' . $i . '" value="' . $row["Answer2"] . '">' . $row["Answer2"] . '<br>';
    echo ' C) <input type="radio" name="ans' . $i . '" value="' . $row["Answer3"] . '">' . $row["Answer3"] . '<br>';
    echo ' D) <input type="radio" name="ans' . $i . '" value="' . $row["Answer4"] . '">' . $row["Answer4"] . '<br>';
    $i++;
}
$i=1;
而($row=$result->fetch_assoc()){
回显“
问题:”.$row[“问题”]。“
”; 回显'A'。$row[“Answer1”]。
; 回音“B)”.$row[“Answer2”]。
; 回音'C'。$row[“Answer3”]。
; 回声'D'。$row[“Answer4”]。
; $i++; }

您还可以使用行
id
而不是
$i

您已为所有单选按钮设置了相同的名称。你应该将每个问题的单选按钮分组。为此,您可以从数据库中获取问题id,并将单选按钮名称设置为

echo ' A) <input type="radio" name="ans'.$row["id"].'" 
    value="'.$row["Answer1"].'">'.$row["Answer1"].'<br>';
echo'A).$row[“Answer1”]。

您为所有单选按钮设置了相同的名称。你应该将每个问题的单选按钮分组。为此,您可以从数据库中获取问题id,并将单选按钮名称设置为

echo ' A) <input type="radio" name="ans'.$row["id"].'" 
    value="'.$row["Answer1"].'">'.$row["Answer1"].'<br>';
echo'A).$row[“Answer1”]。

确保无线电组中的每个输入字段都有不同的名称,以便它将每个问题视为不同的记录。

确保无线电组中的每个输入字段都有不同的名称,以便它将每个问题视为不同的记录。

那么您想要什么?问题只有一个答案,我只想要一个answer@prabhanshupincha你有下面的答案。检查一下,如果下面的任何答案对你有用,你可以接受。这是对你得到的免费帮助表示感谢的方式!阅读这里:。那么你想要什么?问题只有一个答案,我只想要一个answer@prabhanshupincha你有下面的答案。检查一下,如果下面的任何答案对你有用,你可以接受。这是对你得到的免费帮助表示感谢的方式!阅读此处:。这是正确的捕获。+1。如果您使用
ans['question id或question self']
ans[$row['id']]
:)那样,效果会更好
id
会更好,因为问题可能有很长的文本,@sougatabase是的,这就是为什么我使用了
ans[$row['id']]
。请将其添加为注释,您的答案将是完美的这是正确的答案。+1.如果您使用
ans['question id或question本身']
ans[$row['id']]]
,会更好
id
会更好,因为问题可能有很长的文本,@sougatabase是的,这就是我使用
ans[$row['id']]]
的原因。请将其添加为注释,您的答案将是完美的