具有随机排序的 PHP MySQL 分页
如上所述,网站在使用分页在其内容页面上排序搜索结果时面临问题系统。使用的 SQL 查询如下:
<code class="sql">SELECT * FROM table ORDER BY RAND() LIMIT 0,10;</code>
此问题在三种情况下出现:
解决方案:
MySQL RAND(SEED) 函数解决了这个问题。如文档中所述,“如果指定了常量整数参数 N,则将其用作种子值。” (http://dev.mysql.com/doc/refman/5.0/en/mathematical-functions.html#function_rand)。
将此应用于示例查询会导致顺序保持随机的场景,而对于给定的种子保持一致:
<code class="sql">SELECT * FROM your_table ORDER BY RAND(351);</code>
每次用户访问第一个结果页面时都可以修改种子并将其存储在会话中。这确保了每次访问第一页时都有不同的随机顺序,而不影响后续页面的随机顺序。
以上是如何在 PHP MySQL 中实现随机排序分页?的详细内容。更多信息请关注PHP中文网其他相关文章!