使用php而不是mysql查询随机化数据库结果

时间:2013-02-09 23:13:59

标签: php mysql random ezsql

我目前在php中使用EZSQL类来查询MySQL数据库。我试图从数据库中抓取随机记录,但我想知道我是否可以通过php而不是sql查询本身随机化结果。查询目前如下所示:

$results = $db->get_results("SELECT * FROM table ORDER BY RAND()");

foreach($results AS $result)
{

//code here

}

相反,我可以从数据库获取结果,然后通过PHP随机化它?如果是这样,我该怎么做?

2 个答案:

答案 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个元素