当前位置: 首页 > 知识库问答 >
问题:

使用查询字符串的Codeigniter分页

武骁
2023-03-14

我试图使用查询字符串实现Codeigniter分页,但遇到了一些问题。我已经打开了

$config['page_query_string'] = TRUE;

因此,使用查询字符串进行分页,但就我所知,当您使用查询字符串进行控制器和方法路由时,这确实是为了工作。然而,在我的情况下,我仍然使用URI段进行路由,但只是想使用查询字符串进行分页、过滤结果、搜索等。当我尝试使用http_build_query()重建的url与查询字符串发送通过它导致per_page(我已重命名为偏移)得到写两次在任何分页链接后的第一页。原因是,当我重新创建查询字符串偏移量时,在随后的页面上已经在$_GET,CI也追加了它,并导致它出现两次。在下面的代码中,我已经从$_GET中删除了原始的per_page查询字符串,因此可以在没有它的情况下重建查询字符串,CI将在分页create_links()期间添加该字符串。我想检查一下这是否有意义,或者是否有更干净的方法来处理这个问题。

// load pagination library
$this->load->library('pagination');

// set pagination base url
$config['base_url'] = base_url('accounting/bank/reconcile-account1/account/' . $bank_account_id) . '/?';

// assign current $_GET parameters to local variable as we need to remove offset each time we rebuild query
// string otherwise it gets appended twice to url
$get = $_GET;

// unset the offset array item
unset($get['offset']);

// build first url link
$config['first_url'] = base_url('accounting/bank/reconcile-account1/account/' . $bank_account_id) . '/?' . http_build_query($get);

// if $get contains items then build these back onto the url
if (count($get) > 0) $config['suffix'] = '&' . http_build_query($get);

// set the total number of rows
$config['total_rows'] = $result['total_num_txns'];

// set the number of items per page
$config['per_page'] = $filter->limit;

// initialise the pagination config
$this->pagination->initialize($config);

共有1个答案

终翰学
2023-03-14

使用CodeIgniter 3.0版本的分页库。它有一个可重用查询字符串的配置选项。

我自己在CodeIgniter 2中实现了它,但我没有替换分布式版本,而是将它部署为一个名为MY_Pagination的重载库,并将其放置在我的“application/libraries”文件夹中。我必须做的唯一代码更改就是将访问修饰符设置为public而不是protected。

 类似资料:
  • 在我删除索引之后。php,我在codeigniter中启用查询字符串。但我有一些重定向链接的问题。详细信息,我有登录表单(登录/索引),登录成功时重定向到“欢迎/索引”,并在会话中保存电子邮件。 但是登录成功时只加载视图的"欢迎/索引"和错误的链接,现在链接是:"?登录/索引"并且会话不保存。请帮帮我。 这是我的密码 登录。php(控制器) Welcome.php(控制器) 欢迎留言。php(视图

  • 我有这样的url: 我的项目/搜索?s=a 如何进行分页 这里是我在控制器中的代码: 在这一行中:$data['结果']=$this- 我设置了偏移量0,我想用uri_段,直接设置,但不工作,怎么做? 单击分页时,url如下所示: 我的项目/搜索?s=a

  • 问题内容: 是否有任何JavaScript库可以根据查询字符串,样式生成字典? 可以像这样使用的东西: “查询字符串”是否在.NET领域之外称为其他名称?为什么不分解为键/值集合? 编辑:我已经编写了自己的函数,但是任何主要的库都可以这样做吗? 问题答案: 是否有任何JavaScript库可以根据查询字符串,样式生成字典? 可以像这样使用的东西: “查询字符串”是否在.NET领域之外称为其他名称?

  • 为什么这在房间里不起作用?: 但这是真的吗 有没有办法传入可以作为查询一部分的字符串? 编辑:我知道这不是形成单个LIKE子句的正确方法,但实际上我正在尝试传递多个LIKE子句。所以我想要一种直接向查询中注入文本的方法,但Room似乎不希望我这么做。

  • 使用php或javascript或regex,是否有一个快速(希望是一行程序)从前一个(引用者)URL获取查询字符串? 从第二页...我想知道前面的查询字符串“One”。