您的位置:

php驾校考试系统的简单介绍

本文目录一览:

php考试系统

如果是我,我会将单选题,复选题,判断题分成三个文件或数据库中的三个表一个一"\r\n"分开识别,一个为记录设置id。然后获取数据,针对文本的做法:file()获得记录。然后使用mt_rand(1,文本中记录条数)获得要取出的随机题目,然后就是输出咯。针对数据库:首先获取数据库中记录的条数,mysql_num_rows(),然后mt_rand(1,获得的条数);然后从数据库中取出生成的随机数行,然后也是输出。对于你的这个问题不是太困难。

然后就是输出对吧,其实只要你将题目写入记录保存到文本或者数据库的时候加入html标签就可以了(记住替换换行,空格,然后把括号什么的换成字符实体。),然后再外面加上form标签就可以形成一个表单。理论上来说,这个算法是可行的,如果要多个题目也简单,建立三个数组,分别存储已经取得的题目的编号,如果题目取出就加入这个题目的编号,再取出其他题目,如果已经取出就在取其他的。我的只有方法,没有代码,只提供思路。如果有兴趣,加我qq1305167657.不过这一段时间没法上网——————高考啊。。。。。。高考之后交流。其次。。流量啊

php考试系统怎么去做

一般在线考试系统,会事先将题库和题型都设置好,并设置考试时间。在没有到达考试时间时,考生登录系统进入等待页面,到达考试时间后用户进入考场,显示考试试题,考生作答完成提交自动阅卷生成成绩。

试题只在考试时生成试卷,提交答案时操作数据库,这个应当不存在什么压力不压力的。但是考虑将试题输出到客户端缓存,这个是有必要的。假若为每个用户生成的试卷都不相同时,则可以试卷存储到cookie(Cookie是保存在客户端的,而且可以设置过期时间,考试结束提交试卷后清空),进入考场后从Cookie读取试卷而无需再次从数据库生成下载,即使中途断电,试题也无需再次生成。

至于有的朋友说将试题输出到JS,这个是不可行的,因为JS只能在当前页面保存,刷新操作或者跳转页面都会丢失,处理起来也麻烦,而且还很有可能没考试考题都泄露干净了。

php考试系统怎么去做?

我只说简单的吧 首先设计数据表questions,questions表包括三个字段,id,question,answer 分别是,题目ID,题目,题目答案 然后在前台 ?php $num=array(); //保存题目数的数组 for($i=0;$i$question_num;$i++) //$question_num是要读取的题目数量 { $b=mt_rand(0,$max_questionID); //这里$max_questionID是说你的数据表中一共几道题。 while(in_array($b,$num)) { $b=mt_rand(0,$max_questionID); //这个循环是为了防止生成重复的题目号 } $num[]=$b; } ? 这样我们就得到了一个保存着要读取的题目号的数组; 然后就可以连接数据库进行读取了 ?php mysql_connect("","",""); mysql_select_db('db'); mysql_query('SET NAMES gb2312'); foreach($num as $value) { $string.=$value.','; } $string=substr($string,0,-1); $sql="select question,answer from questions where id in ($string)"; $r=mysql_query($sql); $answer=array(); $i=0; while($row=mysql_fetch_array($r)) { echo $row['question'].'br'; $answer[$i][]=$row['answer']; //把答案保存进一个二维数组 $i++; } $fname=mt_rand(0,1000); $fp=fopen($fname,'w'); fwrite($fp,serialize($answer)); //把序列化后的答案写入一个随机生成的文件中; fclose($fp); ? 添加题目就不用我说了吧?插入数据呗。。。很简单,不啰嗦了 然后是得分是么? 前台设计的时候要注意,单选框的名字要是一个数组才行,input type="radio" name="answer[]" value="a"/类似这样的,并且创建一个隐藏域input type="hidden" value="? echo $fname ?" name="fname" /这是为了能够获得此次考试对应的答案 后台就可以通过这个数组来获取回答者的答案并且进行判断了 ?php $answer=$_POST['answer']; $fname=$_POST['fname']; $fp1=fopen($fname,'r'); $content=fread($fp); fclose($fp1); $rightanswer=unserialize($content); 剩下得就是判断提交的答案是否与正确答案相同了,然后加分数,不用啰嗦了吧? ?

求采纳