0

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

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

foreach($results AS $result)
{

//code here

}

相反,我可以只从数据库中获取结果,然后通过 php 将其随机化吗?如果是这样,我该怎么做?

4

2 回答 2

1

不推荐 ORDER BY RAND():为什么不使用 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)来随机化一个数组

于 2013-02-09T23:25:33.760 回答
0

同意@shuffle,但如果你真的想使用 PHP,我不会使用 foreach;相反,取 $results 大小,获取 0 到 length-1 之间的随机数,并使用它从数组中获取第 n 个元素

于 2013-02-09T23:25:21.507 回答