当前位置:首页 > PHP

php 选择题如何实现

2026-01-28 23:38:24PHP

实现 PHP 选择题功能

数据库设计
创建数据表存储题目、选项和答案。例如:

  • questions 表:id, question_text
  • options 表:id, question_id, option_text, is_correct

前端表单
使用 HTML 表单展示题目和选项,单选按钮实现选择:

<form method="post" action="submit.php">
    <p><?php echo $question['question_text']; ?></p>
    <?php foreach ($options as $option): ?>
        <input type="radio" name="answer" value="<?php echo $option['id']; ?>">
        <?php echo $option['option_text']; ?><br>
    <?php endforeach; ?>
    <input type="submit" value="提交">
</form>

后端处理
submit.php 中验证答案并反馈结果:

php 选择题如何实现

$selected_option_id = $_POST['answer'];
$correct_option_id = // 从数据库查询正确答案ID;

if ($selected_option_id == $correct_option_id) {
    echo "回答正确!";
} else {
    echo "回答错误,正确答案是:" . $correct_option_text;
}

动态生成选择题

随机出题逻辑
从数据库随机抽取题目,避免重复:

$random_question = $pdo->query("SELECT * FROM questions ORDER BY RAND() LIMIT 1")->fetch();
$options = $pdo->query("SELECT * FROM options WHERE question_id = {$random_question['id']}")->fetchAll();

选项乱序
使用 shuffle() 打乱选项顺序:

php 选择题如何实现

shuffle($options);

高级功能实现

多选题支持
修改表单为复选框,后端处理数组形式答案:

<input type="checkbox" name="answers[]" value="<?php echo $option['id']; ?>">
$selected_ids = $_POST['answers'] ?? [];
$correct_ids = // 查询所有正确选项ID;
$is_correct = (array_diff($correct_ids, $selected_ids) === [] && array_diff($selected_ids, $correct_ids) === []);

用户进度跟踪
使用 Session 记录已答题目:

session_start();
$_SESSION['answered'][] = $question_id;

即时反馈 AJAX
通过 jQuery 异步提交答案:

$.post("check_answer.php", {answer: selectedOption}, function(response) {
    $("#result").html(response.is_correct ? "正确" : "错误");
});

分享给朋友:

相关文章

vue如何实现冒泡

vue如何实现冒泡

Vue 实现冒泡排序的步骤 在 Vue 中实现冒泡排序,可以通过数据绑定和计算属性来动态展示排序过程。以下是一个完整的实现示例。 示例代码 <template> <div>…

vue如何实现原理

vue如何实现原理

Vue 实现原理的核心机制 Vue.js 的核心实现原理基于响应式系统、虚拟 DOM 和组件化设计。以下是关键机制的详细解析: 响应式系统 Vue 通过 Object.defineProperty(…

vue如何实现图

vue如何实现图

Vue 实现图表的方法 Vue 中实现图表可以通过多种方式,常见的有使用第三方库或自定义实现。以下是几种常见的方法: 使用 ECharts ECharts 是一个功能强大的图表库,支持多种图表类型。…

vue 如何实现多选

vue 如何实现多选

Vue 实现多选的几种方法 使用 v-model 绑定数组 在 Vue 中,可以通过 v-model 绑定一个数组来实现多选功能。当用户勾选多个选项时,选中的值会自动添加到数组中。 <temp…

vue 分页如何实现

vue 分页如何实现

实现 Vue 分页的几种方法 使用 Element UI 分页组件 Element UI 提供了现成的分页组件 el-pagination,适合快速集成。安装 Element UI 后,直接引入组件并…

问卷vue如何实现

问卷vue如何实现

在Vue中实现问卷功能 使用Vue框架可以高效地构建动态问卷系统,主要依赖组件化开发和响应式数据绑定。以下是具体实现方法: 基础结构搭建 创建Vue项目后,设计问卷的数据结构。通常使用一个数组存储问…