我需要使用PHP提取一个数据集并随机排序。每次拉动时,我都需要一个不同的随机顺序。
一旦数据被提取,我就使用ajax/jquery一次提取12个结果。因此,我必须继续使用相同的结果集,根据分页,一次只提取12条记录。
有人能向我解释一下如何使用mysqli/php吗?我认为它会使用store_result,可能还会使用data_seek。但我希望这里有一些经验的人能为我指明正确的方向。
我当前的查询。。。
SELECT * FROM mytable WHERE status='active' limit 0,12
我用MD5函数做过一次。您使用php生成一个随机种子(salt),并将其附加到所有ID中,例如:
SELECT * FROM mytable WHERE status='active' ORDER BY MD5(CONCAT(id, :salt)) DESC LIMIT 0,12
(例如,将盐替换为"aE41n")
然后,您所要做的就是将salt存储在每个用户的会话中。
考虑到性能,我不知道这是否是最好的解决方案,但我希望它会有所帮助。
所以我必须继续使用相同的结果集
这是错误的假设。当您调用下一页时,没有旧的结果集。
所以,你最好坚持mimipc的解决方案,它非常聪明。