0

我需要使用 PHP 提取数据集并随机排序。每次拉动时,我都需要一个不同的随机顺序。

提取数据后,我将使用 ajax/jquery 一次提取 12 个结果。所以我必须继续使用相同的结果集,根据分页一次只提取 12 条记录。

谁能向我解释如何使用 mysqli/php 执行此操作,我认为它将使用 store_result 和可能的 data_seek。但我希望这里有一些经验的人可以为我指明正确的方向。

我当前的查询...

SELECT * FROM mytable WHERE status='active' limit 0,12
4

2 回答 2

2

我使用 MD5 函数做过一次。您使用 php 生成一个随机种子(盐)并将其附加到您的所有 ID,例如:

SELECT * FROM mytable WHERE status='active' ORDER BY MD5(CONCAT(id, :salt)) DESC LIMIT 0,12

(例如,将 :salt 替换为 'aE41n')

然后,您所要做的就是将盐存储在每个用户的会话中。

不知道这是否是考虑性能的最佳解决方案,但我希望它会有所帮助。

于 2013-02-07T22:28:14.313 回答
0

所以我必须继续使用相同的结果集

这是错误的假设。在您调用下一页时,没有旧的结果集。

所以,你最好坚持使用 mimipc 的解决方案,它非常聪明。

于 2013-02-08T01:21:39.580 回答