zend paginator随机排序

时间:2011-09-05 14:11:26

标签: mysql zend-framework

是否可以在随机排序的mysql查询中使用zend paginator?

我正在努力绕过这个。

3 个答案:

答案 0 :(得分:3)

ORDER BY RAND()将(不加思索地)在每次运行时返回随机结果,因此您将无法以正常方式对其进行分页。

您必须在第一次运行中选择所有数据,记录元素的顺序并在任何后续页面上使用它。或者,您可以选择所有数据并使用Ajax进行分页。这两种方法都是相当有用的工作。

答案 1 :(得分:0)

可以使用mysql rand(n)函数。

“n用作种子值,它产生可重复的列值序列”

所以只需添加到您的选择中 - 例如 SELECT rand(21) AS ord FROM TABLE ORDER BY ord 每次你使用不同的结果集时,只需将21更改为其他内容。

http://dev.mysql.com/doc/refman/5.0/en/mathematical-functions.html#function_rand

答案 2 :(得分:0)

您可以使用ORDER BY RAND({seed}),如here所述(使用zend集成)。