【PHP】选择题题库系统V1.0

 

这个系统其实是练习php基本语法和MySQL的基本查询语句。给一起学习的朋友分享。 ^_^

在php文件中,双斜杠后面是注释语句,我用英文写的注释。

整个系统所包含的.htm和.php文件有:

add_que.htm——添加新题的页面

insert.php——显示添加新题信息的页面

questionlist.php——所有问题列表页面

search.htm——搜索问题的页面

result.php——搜索结果的页面

Mysql内,新建了“query”的数据库,内建“list”的数据表。表内含有7项:id,question,a,b,c,d,key。question为题干,a,b,c,d为四个选项,key为答案的选项。

下面是各个文件的代码.

 

/*add_que.htm*/----------------------------------------------------------------------



A.
B.
C.
D.

Choose The Right Answer:



 

 

 

/*insert.php*/----------------------------------------------------------------------

 

 

 

 

/*questionlist.php*/----------------------------------------------------------------------

 

 

 

/*search.htm*/----------------------------------------------------------------------

<

Add More
Back to Question Page

 

 

 

 

 

 

/*result.php*/----------------------------------------------------------------------

 

 

  • 1
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
说明 1.shijuan_ertui.php为抽取坛友抽题逻辑代码所编写的文件,想看原本的可查看shijuan_kangfu.php 2.通用入口为index.html 3.想增加账号的可至xueyuan.php增加 复制代码 隐藏代码 $xueyuans = array( array('xueyuan_id'=>"110101190001011009",'xueyuan_name'=>"陈林",'xueyuan_pic'=>"chenlin.jpg",'xueyuan_kemu'=>"2"), array('xueyuan_id'=>"110101190001011017",'xueyuan_name'=>"吴彬",'xueyuan_pic'=>"wubin.jpg",'xueyuan_kemu'=>"1"), array('xueyuan_id'=>"sf证号",'xueyuan_name'=>"姓名",'xueyuan_pic'=>"照片名称",'xueyuan_kemu'=>"可学科目"), ); 4.如线上使用建议通过数据库存储 5.校验学员是否注册的逻辑仅作为演示使用,实在想作为线上使用请注意“xueyuan_id”的唯一性 6.sf证校验才用js强校验方式,新增学员的时候一定要输入正确sf证否者无法登陆,若想改为自定义账号登录,请自行更改js相关代码 7.请仔细查看源码,防止信息泄露,本系统演示中所提供的sf证号均为虚拟构造,仅作登录/考试演示使用 8.源码全部开源(其实总共也没几句代码),无任何侵权、收集信息的地方! 常见问题解析: 1.题库不一致 ——演示使用,重点请放在抽题上 2.需不需要服务器 ——本地搭建不需要,下载一个wamp或者其他集成环境,访问你的电脑内网IP即可多人答题 3.添加题库和学员信息 ——同2,我改成sql读取,不给你sql你能获取?通过读取php文件获取信息=通过sql读取的信息(从数据结果来说),为方便演示当然是文件越精简越好 4.关于交卷评分 ——参考网友提供的check.php文件,我没做他的集成,毕竟正常来说是入库。以文件方式存储,不符合上面说的越精简越好 5.完善系统 ——①,作为本地模拟考试,仅验证sf证号,密码原本的设计就是可有可无,加一个显得更正式而已,若作为线上,请加上必要的用户校验,一句话:不要相信用户的任何输入 ——②,出于精简,我是能省则省,删除很多校验和逻辑判断,以满足部分人的学习需求 ——③,文件全为初学php时无事写的,功能没问题,请无视代码质量 ——④,文中提到,此系统能公布出来完全是因为坛友的源码讨论,所以系统中会出现1.php和xueyuan.php,check.php等,最初系统设计是直接post。同3,这两个文件的出现相当于我已经帮你把数据从数据库里面取出来了放到了一个数组中。
好的,下面是一个简单的选择题题库系统示例,你可以在 Python 中运行它: ```python class Question: def __init__(self, text, choices, answer): self.text = text self.choices = choices self.answer = answer def check_answer(self, answer): return self.answer == answer class Quiz: def __init__(self, questions): self.questions = questions self.score = 0 self.question_index = 0 def get_question(self): return self.questions[self.question_index] def display_question(self): question = self.get_question() print(f"Question {self.question_index + 1}: {question.text}") for i, choice in enumerate(question.choices): print(f"{i + 1}: {choice}") answer = input("Enter your choice (1-4): ") self.check_answer(answer) self.question_index += 1 def check_answer(self, answer): question = self.get_question() if question.check_answer(int(answer)): self.score += 1 print("Correct!") else: print("Incorrect!") def display_score(self): print(f"Your score is {self.score}/{len(self.questions)}") question_bank = [ Question("What is the capital of France?", ["Paris", "London", "Berlin", "Madrid"], 1), Question("What is the largest country in the world?", ["Russia", "USA", "China", "India"], 1), Question("What is the highest mountain in the world?", ["Mount Everest", "Mount Kilimanjaro", "Mount Fuji", "Mount McKinley"], 1), ] quiz = Quiz(question_bank) while quiz.question_index < len(quiz.questions): quiz.display_question() quiz.display_score() ``` 该程序定义了 `Question` 和 `Quiz` 两个类,其中 `Question` 表示每个选择题,包含题目文本、选项和正确答案;`Quiz` 表示整个题库,包含多个题目和用户的得分。在程序中,我们创建了一个包含多个 `Question` 对象的 `question_bank` 列表,并将其传递给 `Quiz` 对象。`Quiz` 对象中的 `display_question()` 方法会显示当前问题的文本和选项,并要求用户输入答案,然后调用 `check_answer()` 方法来检查答案是否正确。在程序的主循环中,我们一直调用 `display_question()` 直到所有问题都回答完毕,最后调用 `display_score()` 方法显示用户的得分。注意,这个程序只是一个简单示例,如果你需要更完整的选择题题库系统,你需要考虑更多的边界条件和错误处理。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值