源码详情
PHP+MYSQL中国航天知识问答,大学生期末实训课程作业
一、页面结构与布局
- HTML 部分:
- 定义了一个网页,页面标题为 “中国航天问答”,使用 UTF-8 编码。
- 引入了一个外部 CSS 文件
css/css.css用于页面样式设置。 - 主体部分包含一个
div元素,类名为main,其中包含一个h1标题显示 “中国航天问答”。 - 有一个
form表单,表单的id和name均为form1,使用post方法提交数据,提交的目标页面是result.php。
二、PHP 功能
-
数据库操作与数据获取:
- 通过
include "connect.php";引入数据库连接文件,假设该文件包含了mysqli数据库连接的代码,并创建了$conn连接对象。 - 使用
mysqli_query函数从数据库的lists表中随机选取 5 条记录,排序方式为ORDER BY RAND() desc limit 5,实现了随机获取 5 道题目的功能。
- 通过
-
题目和选项的生成:
- 定义了一个
getdaan函数,根据传入的id值,使用switch语句返回对应的选项字母(A、B、C、D)。 - 循环遍历从数据库中获取的题目记录,使用
mysqli_fetch_array函数将结果集转换为关联数组。 - 对于每道题目,使用
json_decode函数将存储在xuanxiang字段的 JSON 数据解码为数组。 - 为每道题目输出题目编号和题目内容,例如 "第 1 题、[题目内容]"。
- 为每道题目创建一个隐藏的
input元素,将正确答案存储在daan[i]中(其中i是题目编号)。 - 对于每个选项,使用
foreach循环输出一个单选按钮,选项的标签由getdaan函数根据选项的key值生成(A、B、C、D),后面跟着选项内容。 - 如果题目类型为 1 且选项
key为 1,则使用break语句结束选项的输出,可能是根据题目类型控制选项数量或有其他逻辑。
- 定义了一个
三、整体功能
- 该页面是一个中国航天知识的问答页面,通过从数据库中随机抽取 5 道题目并将其展示在页面上,每道题目包含多个选项,用户可以选择答案并点击 “提交” 按钮将答案提交到
result.php页面进行后续处理,同时在页面中存储了每道题目的正确答案(通过隐藏input元素),方便后续对用户答案的校验和计分等操作。
这个页面实现了一个简单的在线问答系统的前端部分,包括题目和选项的展示、用户答案的收集,为用户提供了一个可以回答中国航天相关问题的界面,并将用户的答案发送到 result.php 进行后续处理。
演示视频: