当前位置:首页 > 日记 > 正文

在线答疑功能实现

在线答疑功能实现
本文主要介绍了用mysql实现的在线答疑功能,涉及前端和后端技术,实现了一个完整的在线答疑功能。
在文章的最后,我们介绍了使用jQuery实现试题的影响。本文将给你一个例子来说明如何使用jQuery + PHP + MySQL实现在线测试题,包括动态的阅读问题,回答背景分级,并返回答案的结果。这是一个网络的综合应用,和建议您的HTML,jQuery的基本知识,PHP和MySQL的阅读这篇文章。

源下载:单击此下载

quiz.php

为了方便,我写的PHP和HTML在quiz.php文件。首先,我们将加载jQuery库和quizs.js文件以及考试答案的功能实现通过jQuery,并在适当的位置添加试题的HTML结构。

复制代码代码如下所示:
当页面加载并显示到jQuery调用时,我们必须读取标题信息。主题信息来自数据库,我们首先可以在数据表测试中添加标题和答案选项信息。
通过构造SQL语句,我们使用PHP查询数据库,读取问题和回答选项信息,并注意到此时我们不需要读取正确的答案。然后,主题信息被分配给JSON格式的变量JSON。

复制代码代码如下所示:
< PHP
include_once(连接。PHP); / /数据库连接

从测试命令中选择*;
查询= mysql_query美元($ SQL); / /数据查询
而($行= mysql_fetch_array($查询)){
答案(#美元=爆炸# # ',回答' } { $行); / /答案选项分别
{ } =数组(数组元
问题= > $行{ 'id' }。','行' } { 'question。$ / /主题
应答=$/应答选项
);
}
JSON = json_encode美元($ ARR); / / JSON格式的转换
>

我们得到一个字符串在JSON格式的数据,然后,像前一篇文章中,我们称jquizzy(),它是如下:

复制代码代码如下所示:
$(函数(){())
$(#测试容器)。Jquizzy({
问题:项目信息
sendresultsurl:数据。php / /地址
});
});

所以,如果我们的网页quiz.php再次,我们生成一个测试问题和检查源代码。我们只能看到JSON数据,但我们看不到试题的答案部分。

data.php

当调用测试题,有sendresultsurl选项,它完成后,用户点击完成按钮,;;回到data.php发送一个Ajax交互请求,data.php会根据用户的情况,比较正确的答案,然后给用户评分。

复制代码代码如下所示:
include_once(连接。PHP); / /数据库连接

数据_request美元美元=AN{ }; / /得到的答案信息
答案=爆炸(|美元,美元的数据); / /数据分析
an_len美元=计数($答案- 1); / /物品数量

$从id命令中选择正确;
查询= mysql_query美元($ SQL); / /查询表
$ I = 0;
$ = 0;初始分数
q_right美元= 0; / /正确答案的数目
而($行= mysql_fetch_array($查询)){
如果($答案{ $我} = = $行{谈看法}){ / /正确的答案
美元的} { } { 'res ARR = 1; / /正确
q_right美元= 1; / / + 1正确的号码
其他{ }
美元的} { } { 'res ARR = 0; / /错误
}
美元+;
}
{ } =美元'score ARR的圆(×100(q_right美元/美元an_len)); / /计算总得分
回声json_encode($ ARR);
Data.php,第一次连接到数据库,接收和处理参数,一个是前端用户的答案,然后查询数据表,比较由用户的答案和数据表的话题提交正确答案,经相应治疗对比,计算出用户的答案得分,最终输出返回的JSON格式的数据前台电话。

quizs.js

我们已经修改了js代码,主要用于正面和背面的Ajax交互部分,对quizs.js核心部分如下:

复制代码代码如下所示:
如果(config.sendresultsurl!= NULL){
var;
无功myanswers =;
用户获取应答答案
为(R = 0;r<useranswers.length;R + +){
Collate.push({questionnumber + parseInt(R + 1,+ 10)
myanswers = myanswers + useranswers {红} + |;
}

ajax交互
美元。getJSON(config.sendresultsurl,{一}:myanswers,功能(JSON){)
如果(JSON = NULL){
警报(通信失败!);
其他{ }
无功corects = JSON { 'res};
美元。每个(corects,函数(指数、阵列){
ResultSet + = +(corects {指数} = 1 +(#指数+ 1)+:# +(指数+ 1)++);
});
结果=+ judgeskills(JSON。评分)+你的得分:+ + + +json.score ResultSet ''';
SuperContainer.find('。结果门将),Html(结果集)显示(500);
}
});
}

当用户的回答,用户的回答字符串组成如1 2 4 1 | | | | 3 | 的形式将答案提交到一个美元的背景参数。getJSON,后背景对正确答案PHP,结果返回,返回的结果如:{水库:1,0,1,1,0 } { 60 },RES,评分:答案与结果,比较,和五,结果得到的答案,答案说1正常,0表示错误的答案,得分。然后返回的结果进行处理,并评价的结果,对每一个问题的总分数,和相应的HTML结构的生成。

MySQL

最后,附上MySQL数据表测验的结构。

复制代码代码如下所示:
如果不存在,创建表
` ID ` int(11)不为空auto_increment,
`问题` varchar(100)不为空,
`回答` varchar(500)不为空,
`正确` tinyint(2)非空,
主键(id)
)= MyISAM引擎默认的字符集utf8;

你可以将信息添加到表中,你可以直接在源码包中导入quiz.sql文件。

相关文章

如何准确地设置在word文档中常见问

如何准确地设置在word文档中常见问

常见问题,设置,文档,位置,准确,尽管Word2010提供用户选择多种内置的图像的位置,在实际排版工作,用户经常要设置图片的位置在Word文档页面更准确。 第一步:打开Word2010文档窗口,选中需要设置位置准确的图片。在图片工具功能区;;格式选项卡,单击;;安…

你怎么把单词图标放在桌面上词中常

你怎么把单词图标放在桌面上词中常

常见问题,图标,放在,你怎么,单词,问:原词的图标在桌面上,但我不知道如何不好,其原因是不是很清楚。对不起,字联盟,我怎样才能找回字图标,以及桌面上的WPS 答:这个朋友,你可能无意中删除了桌面上的图标,不要紧张。这只是一个快捷方式。我们可以找到单…

谈论setTimeout和setInterval

谈论setTimeout和setInterval

电脑软件,setTimeout,setInterval,当你写新代码,你看到使用setTimeout项目人(好玩,0),所以你要总结。个人理解,如果有错误,请点out.thx 了解Javascript定时器工作,你首先必须了解Javascript引擎是单线程的,这可以理解为Javascript引擎是一个服务员,它有一个队列服务,所…

ai制作一个漂亮的铅笔画笔图案教程

ai制作一个漂亮的铅笔画笔图案教程

教程,图案,漂亮,电脑软件,ai,本教程是向朋友介绍如何使用AI制作漂亮的铅笔画笔图案。教程制作的笔刷非常漂亮,教程也很难。 本教程是由人工智能学习,使用人工智能,使铅笔刷,这是非常美丽和困难,让我们与你的朋友分享学习。让我们看看最后的结果…

手绘美女美女手绘教程

手绘美女美女手绘教程

教程,手绘,美女,电脑软件,本教程是向朋友介绍PS,用漂亮的手来传递双手的方式。很适合初学者学习。非常适合初学者学习,和喜欢的朋友可以一起学习。 很多小伙伴都是学习手绘、手绘和学习的手,你可以给自己、家人朋友,喜欢你喜欢的人的照片!感觉好…

PS使用3D工具制作多层次的金色立体

PS使用3D工具制作多层次的金色立体

工具,3D,多层次,金色,角色,立体角色教程有两层,一层是原文本的一层,是笔画层,在制作时首先将整个曲面渲染到整体,然后修改一些参数,制作两层三维曲面,渲染颜色,添加纹理,调整透视效果。 立体角色教程有两层,一层是原文本的一层,是笔画层,在制作时首先…

对CSS3HSL和HSLA使用简单的例子

对CSS3HSL和HSLA使用简单的例子

例子,简单,电脑软件,CSS3HSL,HSLA,本文主要介绍一个简单的CSS3 HSL和低合金高强度使用的例子,两个声明是用来处理风格的颜色,和你需要的朋友可以参考其中。 使用CSS3 HSL的宣言也用来设置颜色。什么是下一个吗HSLA是的,这是为RGBA相同。 HSL…

在output_bufferingPHP中的一个简

在output_bufferingPHP中的一个简

简短,电脑软件,output_bufferingPHP,首先,让我们谈谈PHP中的缓存! 在PHP中,我们大致可以将缓存划分为客户端缓存(浏览器缓存)、服务器端缓存(服务器缓存),因为PHP基于B/s架构,我们可以理解浏览器端缓存和服务器端缓存。 在服务器端PHP自己的缓存中,…

用PS制作2英寸蓝色或红色的照片。

用PS制作2英寸蓝色或红色的照片。

照片,红色,蓝色,电脑软件,PS,本教程是向朋友介绍PS制作2英寸蓝色或红色证书的照片。这个教程比较简单,但是很实用。值得学习和推荐。让我们一起学习。 我们通常需要2英寸的数码证书照片。有时我们需要蓝色的底,有时需要红色的。那么我们如何…

Word2007中如何将和图形Word2007教

Word2007中如何将和图形Word2007教

教程,图形,如何将,电脑软件,Word2007使用新的图形引擎,它消失在Word 03版组合图形的功能,这使得它的图形编辑很麻烦。所以在Word2007中,如何结合图形这里介绍一个更快的方法,希望对你有帮助。 关于Word2007方法保存docx文档为DOC文档,打开文件文…

一个用CSS3实现背景变化的方法

一个用CSS3实现背景变化的方法

方法,背景,电脑软件,本文主要介绍的方法通过CSS3实现背景梯度,作者在这里没有给出演示效果…有需要的朋友可以参考下。 在CSS3,你必须依靠图形处理软件如Adobe PS图象处理软件使梯度,然后添加背景图片的元素。现在,使用CSS,可以创建各种不同的渐…

Excel多行或多列批量请求和Excel函

Excel多行或多列批量请求和Excel函

函数,多列,批量,电脑软件,Excel,在日常工作中,许多朋友在制作数据表时经常使用公式运算,包括在多个表中添加和添加数据。 操作步骤 第一步是将图中的列数据添加到B列中的数据中,结果将显示在C列中。 第二步,我们需要总结的A1和B1的两个细胞。…