php实现题库随机出题,php题库编程题

本文目录一览:

PHP考试系统怎么实现在同一页面提交后,实现随机出题,并保证提交后,不再随机,要求试题和答案保持一致

用sesssion保存答过的题目id

每次选题前,先从session取出已答题目id跟所有题目id做一个差集,array_diff()可以计算数据差集。

新的题目从这个差集里随机选取。

至于试题和答案对应关系,做好答案和试题id的关联关系就行。

题库有600题,我想随机选其中的100道,这100道不能重复, 算法

就是将600题放在数组里,然后调用shuffle这个PHP函数将数组打乱,取前100项就是需要的100题

至于这个打乱的算法,大致是这样

for (i=0;i600;++i) {

a=myarray[i];

j=rand(i,600-1);

myarray[i]=myarray[j];

myarray[j]=a;

}

用php+mysql做一个题库系统,随机抽取五百题左右生成考试卷,最有效率的做法是什么?

php里面有array_rand函数,你要是一道题一道题的读出来,或许也可以尝试一下。但是要是一下子都读出来,即便这个函数效率可以的话,随机取出id数组,查询 “where id in 数组” 就不如直接在数据库里随机抽取记录。

如何从数据表里随机抽取记录呢,想想办法还是有一些,就是不知道效率如何。有的是说用max_id*rand(),那一条一条抽取还是可以的。怎么批量随机抽取呢,可以试着排序,然后选取前500题,排序可以想办法用一些函数(选取一些执行效率高的),如何md5,sha1,这种。如果为了使结果更具有随机性,可以把字段值再与一个随机数运算一下。仅供参考。

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

我想你还是用array_rand随机抽500个id存到数组,然后遍历数组吧。这样也避免了题目重复。在数据库里如果一次一条记录随机抽取,要考虑碰巧重复的问题。批量选取你就按上面我说的试试。

PHP考试系统怎么实现随机出卷,并且提交是同一页面,提交后给出题目与对应答案的对错情况。主要是怎么在

并发访问量不大的话,在生成题目的同时,生成答案,将生成的答案直接写入$_SESSION。

并发访问量大的话,给每条题目一个ID,提交时,同时提交ID和答案,根据ID到数据库中逐条比对。

如果只是练习的话,安全性要求不高,直接将js加密,再将答案加密,直接发送到客户端Cookie,将考试结果再加密,返回服务器。这种性能最好。

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;$icount($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做一个答题系统。求救啊~~~~

设置HTML页面,post取值并与正确答案对比,正确的就执行分数加1,这样就可以得到总分了

原创文章,作者:IKAA,如若转载,请注明出处:https://www.506064.com/n/141910.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
IKAAIKAA
上一篇 2024-10-09 09:53
下一篇 2024-10-09 09:53

相关推荐

  • PHP和Python哪个好找工作?

    PHP和Python都是非常流行的编程语言,它们被广泛应用于不同领域的开发中。但是,在考虑择业方向的时候,很多人都会有一个问题:PHP和Python哪个好找工作?这篇文章将从多个方…

    编程 2025-04-29
  • Python第一章题库

    本篇文章将从以下几个方面对Python第一章题库进行详细的阐述,包括基本语法、数据类型、控制语句、函数和模块等方面。 一、基本语法 Python是一门简单易学、功能强大的编程语言,…

    编程 2025-04-29
  • PHP怎么接币

    想要在自己的网站或应用中接受比特币等加密货币的支付,就需要对该加密货币拥有一定的了解,并使用对应的API进行开发。本文将从多个方面详细阐述如何使用PHP接受加密货币的支付。 一、环…

    编程 2025-04-29
  • 使用PHP foreach遍历有相同属性的值

    本篇文章将介绍如何使用PHP foreach遍历具有相同属性的值,并给出相应的代码示例。 一、基础概念 在讲解如何使用PHP foreach遍历有相同属性的值之前,我们需要先了解几…

    编程 2025-04-28
  • PHP获取301跳转后的地址

    本文将为大家介绍如何使用PHP获取301跳转后的地址。301重定向是什么呢?当我们访问一个网页A,但是它已经被迁移到了另一个地址B,此时若服务器端做了301重定向,那么你的浏览器在…

    编程 2025-04-27
  • PHP登录页面代码实现

    本文将从多个方面详细阐述如何使用PHP编写一个简单的登录页面。 1. PHP登录页面基本架构 在PHP登录页面中,需要包含HTML表单,用户在表单中输入账号密码等信息,提交表单后服…

    编程 2025-04-27
  • 计算机二级基础知识题库

    计算机二级基础知识题库考试为计算机二级考试的必修科目之一,其中包含了计算机的基本知识以及应用能力等内容。本文将从题库概述、考试内容、备考建议以及编程实例等几个方面进行介绍,希望对广…

    编程 2025-04-27
  • PHP与Python的比较

    本文将会对PHP与Python进行比较和对比分析,包括语法特性、优缺点等方面。帮助读者更好地理解和使用这两种语言。 一、语法特性 PHP语法特性: <?php // 简单的P…

    编程 2025-04-27
  • Python程序设计题库博客园

    Python程序设计题库博客园是一个开发者可以通过该平台进行学习和检测自身能力的编程题目练习平台。其提供了一些Python的基础编程技能练习,对于想要学习Python编程,提高编程…

    编程 2025-04-27
  • 计算机基础统考题库

    计算机基础统考题库是计算机类专业计算机基础课程教育的一个重要组成部分,也是考生备战计算机基础课程教育统考的重要学习工具。下面从多个方面对计算机基础统考题库做详细的阐述。 一、题库概…

    编程 2025-04-25

发表回复

登录后才能评论