用户可以选择要显示的每页记录数而不会丢失搜索查询 - codeigniter

时间:2014-03-03 16:54:59

标签: php mysql codeigniter pagination

我正在处理用codeigniter编写的项目,我有相当复杂的搜索表单,之后我会显示搜索结果。

我想为用户提供选择每页显示多少条记录的可能性。

我创建了带有选项的组合框,我的想法是创建实用工具类,我将在其中创建一个函数,将该数字保存在数据库中并将用户重定向回同一页面。但是,在重定向之后,我将丢失用户查询,因此我们将不得不再次进行搜索。我该如何防止这种情况?

如果这有帮助,我的会话将存储在ci_session表的数据库中。

任何想法都将深受赞赏。

问候,约翰

1 个答案:

答案 0 :(得分:0)

您应该将搜索查询的所有参数(包括要显示的结果数量)作为GET参数传递。

看到像search.php?q=boats+cars&page=3&nr=30&filters=[1,2]

这样的网址并不罕见

如果将部分数据存储在会话,cookie或localstorage中,则会将用户限制为一个搜索查询。如果您打开两个搜索查询,后者将覆盖第一个搜索查询的数据,从而导致非常奇怪的搜索体验。