2010-11-16 62 views
5

我在我的网页上进行了高级搜索,现在该如何工作如下。当进行搜索时,随机结果出现在内容页面上,现在这个页面也包含分页,所以我的问题是每次访问者进入第1页时出现不同的结果。是否有可能使用这个分页,或者这个分支是否会随机。带有分页的MySql查询中的随机值

我使用的查询像

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

回答

12

您应该使用的种子为MySQL RAND得到一致的结果。在PHP你做一个

$paginationRandSeed = $_GET['paginationRandSeed']? 
    ((int) $_GET['paginationRandSeed']): 
    rand() 
; 

,并在MySQL您使用的种子

"SELECT * FROM table ORDER BY RAND(".$paginationRandSeed.") LIMIT 0,20" 

当然你需要传播的初始种子在页面请求。

祝你好运,
阿林

+0

感谢名单指着我在正确的方向,你的解决方案为我完全 – Roland 2010-11-16 08:56:41

+0

良好的出发点,研究更该RAND()函数MySQL的文档。我在我的客户端网站上提供了一些属性列表,我添加了'$ seed = date('jnY');' – kkatusic 2013-09-01 13:59:52