欢迎来到258分享网,纯净的网络源码分享基地!

258资源分享网

全部作品
全部作品
网站源码
微信源码
素材特效
源码插件
视频教程
建站学院
热门搜索: 织梦  农业种植  农业  安全设置  官方
258资源分享 > 建站学院 > 微信开发 > 微信小程序--答题系统实现随机出题

推荐下载

HTML5响应式自适应网咯设计

2020-05-12   浏览:773

HTML5自适应律师工作室类网

2020-04-04   浏览:612

高端HTML5响应式企业通用网

2020-05-06   浏览:549

html5响应式外贸网站英文版

2020-05-08   浏览:538

HTML5影视传媒文化公司类网

2020-05-12   浏览:534

微信小程序--答题系统实现随机出题

发布时间:2020-10-29  

最近头脑王者非常火爆,公司也在开发类似头脑王者的答题系统,这个重任交到我这边来了,我们在开发的这个微信小程序答题系统,需要实现随机出题。尤其是一些比如闯关的环节,需要随机从题库里抽取若干道题目,给到用户答题。那么要如何来做呢?

首先我们要做两张表,一张是exam表,用来存考卷的。另外一张是题库表,question表。

在exam表里设置好考试的参数,比如说本次考试是随机抽多少题,然后在sql语句中,随机从question表中抽取题目。

 

注意了,划重点了,一些关键点来了。

随机抽题目,一般人想到的是sql语句的 order by rand ,然后网上你搜下 order by rand语句的优化,也有人提到过,这个order by rand 执行效率很低。尤其是比如你的题库很大,如果你做大平台的,一定会在后期发生的。我们自己是做平台的,开发好这套系统是要不断的复制卖给所有的需要的客户的。所以客户出的题目肯定会越来越多,题库要越赖越大的。题库随着考试次数增多,题库将会变的非常大。所以提前就要想好解决办法,一次性把代码写到位。

微信小程序--答题系统实现随机出题

小程序答题系统 小程序答题

使用ORDER BY RAND 一个15万余条的库,查询5条数据,居然要8秒以上。查看官方手册,也说rand()放在ORDER BY 子句中会被执行多次,自然效率及很低。

怎么优化方法很多,大家自行百度,我用的是使用sql语句 limit的偏移量来做的。

话不多说,直接上代码了。tp的风格哈。

 

$total=$questionTable->where($search)->count(); //查看下对应的题目总数有多少

if($total<=$getrand_Num){ //总的题目数比需要的还小 那就不用随机了 直接出全部的题目就行了

$offset = 0;

}else{

$offset = mt_rand(0, $total-1); //偏移量

}

$list=$questionTable->where($search)->field($field)->limit($offset,$getrand_Num)->select();

不知道各位看懂了没有,这个偏移量的,就是使用这个模式来随机抽取题目。希望你也按照这个思路优化下你的考试答题系统的随机出题逻辑。

我,秋峰,phper,目前自创业,做项目系统开发,php后端加小程序前端结合 今天就给大家分享到这