我目前在php中使用EZSQL类来查询MySQL数据库。我试图从数据库中抓取随机记录,但我想知道我是否可以通过php而不是sql查询本身随机化结果。查询目前如下所示:
$results = $db->get_results("SELECT * FROM table ORDER BY RAND()");
foreach($results AS $result)
{
//code here
}
相反,我可以从数据库获取结果,然后通过PHP随机化它?如果是这样,我该怎么做?
答案 0 :(得分:1)
不推荐ORDER BY RAND():Why don't use mysql ORDER BY RAND()?
此外: http://www.titov.net/2005/09/21/do-not-use-order-by-rand-or-how-to-get-random-rows-from-table/
您只需致电shuffle($results)
即可随机化数组
答案 1 :(得分:0)
同意@shuffle,但如果你真的想使用PHP,我就不会使用foreach;相反,取$ results size,得到0和length-1之间的随机数,并使用它从数组中获取第n个元素