很多站长朋友们都不太清楚php考试系统随机选题,今天小编就来给大家整理php考试系统随机选题,希望对各位有所帮助,具体内容如下:
本文目录一览: 1、 PHP考试系统怎么实现随机出卷,并且提交是同一页面,提交后给出题目与对应答案的对错情况。主要是怎么在 2、 用php+mysql做一个题库系统,随机抽取五百题左右生成考试卷,最有效率的做法是什么? 3、 PHP 考试系统怎么生成随机试题,求代码写法.以选择题为例说明一下就行,假如从10个里抽3个,怎么在提交之 4、 PHP考试系统怎么实现在同一页面提交后,实现随机出题,并保证提交后,不再随机,要求试题和答案保持一致 PHP考试系统怎么实现随机出卷,并且提交是同一页面,提交后给出题目与对应答案的对错情况。主要是怎么在并发访问量不大的话,在生成题目的同时,生成答案,将生成的答案直接写入$_SESSION。
并发访问量大的话,给每条题目一个ID,提交时,同时提交ID和答案,根据ID到数据库中逐条比对。
如果只是练习的话,安全性要求不高,直接将js加密,再将答案加密,直接发送到客户端Cookie,将考试结果再加密,返回服务器。这种性能最好。
用php+mysql做一个题库系统,随机抽取五百题左右生成考试卷,最有效率的做法是什么?php里面有array_rand函数,你要是一道题一道题的读出来,或许也可以尝试一下。但是要是一下子都读出来,即便这个函数效率可以的话,随机取出id数组,查询 “where id in 数组” 就不如直接在数据库里随机抽取记录。\x0d\x0a如何从数据表里随机抽取记录呢,想想办法还是有一些,就是不知道效率如何。有的是说用max_id*rand(),那一条一条抽取还是可以的。怎么批量随机抽取呢,可以试着排序,然后选取前500题,排序可以想办法用一些函数(选取一些执行效率高的),如何md5,sha1,这种。如果为了使结果更具有随机性,可以把字段值再与一个随机数运算一下。仅供参考。\x0d\x0a========================\x0d\x0a我想你还是用array_rand随机抽500个id存到数组,然后遍历数组吧。这样也避免了题目重复。在数据库里如果一次一条记录随机抽取,要考虑碰巧重复的问题。批量选取你就按上面我说的试试。
PHP 考试系统怎么生成随机试题,求代码写法.以选择题为例说明一下就行,假如从10个里抽3个,怎么在提交之很简单,给你一个思路
你在数据库里面放10个题,
id questions options right_answer
1 china 是指哪个国家? A:中国;B:日本;C:美国 A
... ................ ............. ...
这样你从数据库中读取全部数据出来;
为了实现随机性,你可以用一个数组
<?php
$query=$mysql_query("select * from '表名'");
$results=$mysql_fetch_row($query);
$rand=array_rand($results,3);//取出随机的三个问题,注意这里取得是三个键值
$question=array($result[$rand[0]],$result[$rand[1]],$result[$rand[2]]);//将取出的三个问题放进一个数组中
?>
<form action="目标地址(此处用本页面地址)" method="post">
<?php
foreach($question as $values)
{
$options=explode(";",$values['options']);//用“;”将选项分割存进数组
echo $values['questions'];//显示题目
for($i=0;$i<count($options);$i++){
echo "<input type='radio' name=".$choice[$valest['id']]." value='A' >".$options[i]." /><br>";//输出选项
}
echo "----------------------------------------";//题目之间分隔符
}
//下面的代码是你接受form表单的页面,如果是本页面就直接接着上面的代码写
if(!empty($_POST[$choice]))
{
foreach($_POST[$choice] as $key=> $data)
{
$question_id=$key;
$user_choice=$data;
if(mysql_query("select * from '表名' where id=".$key."and right_answer='".$data."'"))
{
//答案对如何处理。。。。
}
else
{
//答案不对处理办法。。。。
}
}
}
?>
</form>
随手现写的代码,可能你里面有错误,但是思路你可以借鉴下~
PHP考试系统怎么实现在同一页面提交后,实现随机出题,并保证提交后,不再随机,要求试题和答案保持一致用sesssion保存答过的题目id
每次选题前,先从session取出已答题目id跟所有题目id做一个差集,array_diff()可以计算数据差集。
新的题目从这个差集里随机选取。
至于试题和答案对应关系,做好答案和试题id的关联关系就行。
关于php考试系统随机选题的介绍到此就结束了,不知道本篇文章是否对您有帮助呢?如果你还想了解更多此类信息,记得收藏关注本站,我们会不定期更新哦。
查看更多关于php考试系统随机选题的简单介绍的详细内容...