使用PHP和MySQL创建定制的在线MCQ测验

时间:2012-03-17 07:44:45

标签: php mysql html

我想创建定制的MCQ(只有一个正确答案)在线测验,每页只显示一个问题。这是我为测验设置的数据库。

(1)QuestionBankTable

|QuestionID|QuestionText|
|2|What is the HTTP port number?|

此表的目标是

〜输入(新)和编辑(当前)问题

〜选择并显示问题。

(2)OptionsTable

|AnswerID|QuestionID|AnswerText|
|21|2|80|
|22|2|53|
|23|2|8080|
|24|2|1278|

此表的目标是

〜为每个问题输入(新)和编辑(当前)选项

〜选择并显示每个问题的选项。

(3)AnswerSheetTable

|QuestionID|AnswerID|     
|2|21|

此表的目标是

〜将相应的正确答案存储到相应的问题中。

(4)AnswerScriptsTable

|StudentID|(QuestionID)1|(QuestionID)2|
|S678|(AnswerID)13|(AnswerID)21| 

此表的目标是

〜将学生给出的相应答案存储到每个相应的问题中。

〜稍后将用于与AnswerSheetTable进行比较,以确定更正答案的数量,并根据PHP脚本给出标记。

=============================================== ==================================

此测验的主要核心在很大程度上依赖于PHP脚本。

|WebBrowser(HTML)|
|PHP Scripts|
|MySQL Database|

我已经阅读了基本的php / html / SQL教程,但我需要指导我应该如何处理PLANNING& ORGANIZATION PHP脚本的结构,以提供测验的最佳输出?

例如。

(1)脚本中必要的PHP脚本及其特定功能的名称。

(P.S。我想在每页只显示一个问题,并选择导航到下一个或上一个问题。)

2 个答案:

答案 0 :(得分:0)

我认为您应该创建以下脚本:

  • config.php - 使用define()设置数据库名称。密码等来自一个地方
  • common.php - 封装sql数据库等
  • html.php - 用于模板html页面例如。创建一个类htmlPage
  • user.php - 学生登录/注册管理等
  • quiz.php - 用于选择问题,答案和正确答案,用于更新学生答复的SQL查询等。创建课程问题
  • report.php - 用于显示学生的统计数据从sql读取数据并相应处理
  • admin.php - 添加,编辑排队/答案

这只是一个基本想法,随着开发的进行,可能需要更多文件。

答案 1 :(得分:0)

听起来你对PHP很新,我建议你使用其中一个框架。它将为您做很多繁重工作,并开始让您习惯于使用PHP和其他相关概念(MVC,OO等)进行编程。它还将为您提供可以构建的应用程序的基本结构。如果你试着自己想出一个结构,那么你几乎肯定会犯下以后会花费你的错误(我说的是过去犯过大部分错误的经历)。那里有许多框架(CodeIgniter,Yii,Kohana,Zend,Symfony2,Kohana等)。我个人推荐Symfony2,因为它带有模板/视图(Twig)和数据库/ ORM(Doctrine)"开箱即用"但这只是我的建议。

当然,如果这是一个家庭作业问题而你需要提出自己的结构作为其中的一部分,那么所有的赌注都会被取消!