PHP 随机读取数据问题!!!

我的库里面有500条 判断题 和 选择题 。
我想进入答题页面时,系统从数据库读取10条判断题和40条选择题(先把随机读出来的10个判断题放前面,然后接着随机读取40条选择题),要求题不重复。
这个怎么做?我直接写rand() 出现重复内容。

阅读 2.8k
2 个回答

shuffling

有一个简单易理解但效率不高的方法。

  • 从库里面取所有判断题的序号到数组A,select id from table where type = "judgments";

  • 之后从数组A中随机取N(N=10)个元素,array_rand($array,10);

  • 再用这些元素查题,select * from table where id in

方法比较好理解,但是性能,不怎么地……你题库里要是只有500条倒还好。

目前我有个自己的项目,有类似的需求,就是这么做的。

当时网上也搜了不少方法,看到过很多高效率的方法,但是有个缺点就是id必须连续。我这个方法id可以不连续。

撰写回答
你尚未登录,登录后可以
  • 和开发者交流问题的细节
  • 关注并接收问题和回答的更新提醒
  • 参与内容的编辑和改进,让解决方法与时俱进
推荐问题