使用PHP和mysql建立一个在线答题系统,如何获取用户选择的答案并计算分数,需要详细代码
时间: 2023-05-19 21:07:09 浏览: 49
以下是一个简单的PHP和MySQL在线答题系统的代码示例,包括如何获取用户选择的答案并计算分数:
首先,创建一个名为“questions”的MySQL表,其中包含以下列:
id - 问题的唯一标识符
question - 问题的文本
answer1 - 选项1的文本
answer2 - 选项2的文本
answer3 - 选项3的文本
answer4 - 选项4的文本
correct_answer - 正确答案的编号(1-4)
然后,创建一个名为“quiz.php”的PHP文件,该文件将显示问题和选项,并允许用户选择答案。在用户提交答案后,该文件将计算分数并显示结果。
以下是“quiz.php”的完整代码:
<?php
// 连接到MySQL数据库
$mysqli = new mysqli("localhost", "username", "password", "database_name");
// 检查连接是否成功
if ($mysqli->connect_errno) {
echo "Failed to connect to MySQL: " . $mysqli->connect_error;
exit();
}
// 获取所有问题
$result = $mysqli->query("SELECT * FROM questions");
// 显示每个问题和选项
while ($row = $result->fetch_assoc()) {
echo "<p>" . $row['question'] . "</p>";
echo "<input type='radio' name='answer" . $row['id'] . "' value='1'>" . $row['answer1'] . "<br>";
echo "<input type='radio' name='answer" . $row['id'] . "' value='2'>" . $row['answer2'] . "<br>";
echo "<input type='radio' name='answer" . $row['id'] . "' value='3'>" . $row['answer3'] . "<br>";
echo "<input type='radio' name='answer" . $row['id'] . "' value='4'>" . $row['answer4'] . "<br>";
}
// 计算分数
$score = 0;
$result = $mysqli->query("SELECT * FROM questions");
while ($row = $result->fetch_assoc()) {
if ($_POST['answer' . $row['id']] == $row['correct_answer']) {
$score++;
}
}
// 显示结果
echo "<p>Your score is: " . $score . "</p>";
// 关闭连接
$mysqli->close();
?>
请注意,此代码仅用于演示目的,实际应用中可能需要添加更多的错误检查和安全性措施。