gpt4 book ai didi

随机排序的PHP MySQL分页

转载 作者:IT王子 更新时间:2023-10-28 23:45:02 28 4
gpt4 key购买 nike

这是我网站上排序搜索结果的问题,

进行搜索时,内容页面上会出现随机结果,该页面也包括分页。我使用以下作为我的 SQL 查询。

SELECT * FROM table ORDER BY RAND() LIMIT 0,10;

所以我的问题是

  1. 我需要确保每次用户访问下一页时,他们已经看到的结果不会再次出现(在下一个查询中排除它们,以一种内存高效的方式但仍然按 rand() 排序)

  2. 每次访问者转到第一个页面时,都会有一组不同的结果,是否可以对此使用分页,或者排序是否始终是随机的。

  3. 我可以在 MYSQL 中使用种子,但我不确定如何实际使用它..

最佳答案

使用 RAND(SEED)。引用文档:“如果指定了常量整数参数 N,则将其用作种子值。”(http://dev.mysql.com/doc/refman/5.0/en/mathematical-functions.html#function_rand)。

在上面的例子中,结果顺序是随机的,但它总是相同的。您只需更改种子即可获得新订单。

SELECT * FROM your_table ORDER BY RAND(351);

您可以在每次用户点击第一个结果页面时更改种子并将其存储在用户 session 中。

关于随机排序的PHP MySQL分页,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/10729633/

28 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com