我正在创建一个搜索结果的页面......
当您查看其中一个结果时,在页面底部,我需要插入“下一个结果”和“上一个结果”链接,例如一个分页...但是从[我认为]一个已保存的搜索,对吗?
你们的人怎么会这样做?
Obs。:我将使用CakePHP(PHP)和MySQL
-
更新 问题不在于如何对搜索结果进行分页,例如“每页20个结果”......我需要在同一个搜索结果中从一个记录跳转到另一个记录。
让我说我用搜索找到了记录3,5,8和9 ...然后我点击查看#5记录,我可以点击“下一个结果”链接跳转到#8记录。
-
可能的解决方案#1
使用结果ID创建一个数组,如:
$results = array(3, 5, 8, 9);
使用令牌(SHA1,MD5或UUID)将此数组存储在会话或cookie中,并将此标记作为GET参数传递到URL中。
答案 0 :(得分:1)
使用查询限制和偏移量。例如,在第1页上,偏移量为0,限制是您想要的结果量。随着分页的进行,偏移也是如此。例如,偏移量表示您要从第11个结果开始检索确定的结果数量 我从未使用CakePHP,但this article似乎很好地解释了如何进行分页。
答案 1 :(得分:0)
我不知道蛋糕,但你需要做的就是在搜索表单中使用GET方法,并在URL中保留查询字符串值。
在普通的PHP中我会使用http_build_query()
函数,比如说,
if (isset($_GET['page'])) unset($_GET['page']);
$qs=http_build_query_string($_GET);
$url="?$qs&page=$page";
至于分页代码,你可以在SO
找到近千个主题