用户
 找回密码
 入住 CI 中国社区
搜索
查看: 1407|回复: 5
收起左侧

[版本 3.x] 测验程序的乱序出题,怎么解决?

[复制链接]
发表于 2016-7-30 10:45:34 | 显示全部楼层 |阅读模式
本人想写一个小测验程序,
想在 问题 的数据表中随机抽题?(或者说乱序查询)
麻烦大家帮忙提供一下参考思路?
mysql只有顺序显示或者倒叙显示,没有乱序(随机)显示的吧?
还是利用PHP的函数对查询结果随机取值?
发表于 2016-7-31 01:21:01 | 显示全部楼层
你先获取所有测试题的id放在一个数组里  然后随机选出id  ,选出来的id可以用where_id()
 楼主| 发表于 2016-7-31 09:51:19 | 显示全部楼层
Aloghli 发表于 2016-7-31 01:21
你先获取所有测试题的id放在一个数组里  然后随机选出id  ,选出来的id可以用where_id() ...

我可能表达的不明确,我的意思说,mysql表中有
ID为,1,3,4,5,6,8,11,13,等不连续的数据项,
从中抽象若干项出来,3,4,5,8,13等。
你介绍的思路比较虽然简单,然后数据的ID没办法确定(因为不连续,而且总数还不能变化。,但是实现起码不好操作,因为stdclass不能用索引来获取,而且运算步骤多了一个数量级。
我在外国论坛找到,它们推荐用 php 的 shuffle函数或者mysql 的union语句。
发表于 2016-7-31 12:55:18 | 显示全部楼层
oomengnan 发表于 2016-7-31 09:51
我可能表达的不明确,我的意思说,mysql表中有
ID为,1,3,4,5,6,8,11,13,等不连续的数据项,
从中抽象若 ...

就是因为id不确定的所以我才这么说的  如果是确定的话  用limit就可以了
发表于 2016-8-1 09:15:28 | 显示全部楼层
mysql有取随机数据的功能,自己查查吧
 楼主| 发表于 2016-8-9 12:49:20 | 显示全部楼层
Michael锐生 发表于 2016-8-1 09:15
mysql有取随机数据的功能,自己查查吧

order by rand()

谢谢

本版积分规则