请问下findall RAND的问题

#1 阳光小老鼠

findAll(null,'RAND()',null,'5'),那个RAND 每次随机的时候重复率很高   有没有办法每次随机都不同

2011-12-08 12:30:51

#2 jake

提两个方法:
1. 简单些的,先随机取25条
findAll(null,'RAND()',null,'25')
再从数组结果里面随机取5条
array_rand(结果数组, 5);
2. 复杂的,先从全部总数里面随机得5个数字,比如说记录总数是$m
5个数字$arr = array_rand(range(0, $m-1),5)
然后find 5 次,limit分别是这5个随机数
findl(null,'RAND()',null,'$arr[0]')
findl(null,'RAND()',null,'$arr[1]')
findl(null,'RAND()',null,'$arr[2]')
findl(null,'RAND()',null,'$arr[3]')
findl(null,'RAND()',null,'$arr[4]')

其实2方法更适合在大量数据情况下使用

2011-12-08 12:42:24

#3 阳光小老鼠

好 我晚上回去试试

2011-12-08 12:47:58

#4 阳光小老鼠

还想在问下 如何判断从数据库读出来后 IMG的标签个数呢

2011-12-08 12:48:52

#5 阳光小老鼠

还想在问下 如何判断从数据库读出来后 IMG的标签个数呢

2011-12-08 12:48:53