Warning: file_get_contents(/data/phpspider/zhask/data//catemap/6/codeigniter/3.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Php 代码点火器/分页/uri_to_assoc()_Php_Codeigniter_Pagination - Fatal编程技术网

Php 代码点火器/分页/uri_to_assoc()

Php 代码点火器/分页/uri_to_assoc(),php,codeigniter,pagination,Php,Codeigniter,Pagination,我试图通过定义传递给单个控制器函数browse()的各种uri段,对搜索到的产品列表进行分页。使用CI的uri_to_assoc(),我建立了一个传递给SQL查询的密钥对列表。然而,我有真正的困难,试图让我的头周围如何分页这可能会工作。我将举几个例子来说明我的问题 我想能够浏览我的网站上列出的产品类别,品牌或范围。用户应该能够浏览这3个搜索元素的任意组合,例如: =浏览全部 -列出机柜和仓库类别中的产品 -列出品牌为Ramon Soler的橱柜和仓库类别中的产品 -列出范围为德克萨斯州的橱柜和

我试图通过定义传递给单个控制器函数browse()的各种uri段,对搜索到的产品列表进行分页。使用CI的uri_to_assoc(),我建立了一个传递给SQL查询的密钥对列表。然而,我有真正的困难,试图让我的头周围如何分页这可能会工作。我将举几个例子来说明我的问题

我想能够浏览我的网站上列出的产品类别,品牌或范围。用户应该能够浏览这3个搜索元素的任意组合,例如:

  • =浏览全部
  • -列出机柜和仓库类别中的产品
  • -列出品牌为Ramon Soler的橱柜和仓库类别中的产品
  • -列出范围为德克萨斯州的橱柜和仓库类别的产品
  • -列出Ramon Soler品牌的产品,其范围为德克萨斯州
  • 等等等等
问题是当涉及分页时,CI总是将其添加到url的末尾。因此,根据查询的深度,offset参数在url中的位置会有所不同

有没有人知道如何将偏移段引入到这种格式中,以便我始终准确地知道它位于何处,而不管上面的链接使用哪种组合?还请记住,在第一次加载这些页面时,不会设置任何偏移段,并且仅在后续页面加载时出现

如果可能的话,我不想使用查询字符串,而是坚持使用基于url段的方法


谢谢

始终将偏移量添加到页面末尾,然后使用以下方法检索:

 $offset = (int) end($this->uri->segment_array());
如果不是有效的偏移量,typecast将为您提供0(因此您有一个基准偏移量)


来源:

我们可以看看您当前处理分页的代码吗?不知道为什么你需要“总是确切地知道它在哪里”如果你使用uri\u-to\u-assoc,只需要使用类似于
page/4
的东西。如果你告诉我们你是如何配置的(你的实际代码),这将非常有帮助。但当我这样做并将其拉入数组时,偏移量将成为键
数组([category]=>test[brand]=>vasic+home[24]=>)
@AdrianWalls:这是一个问题吗?我们可以看一下您当前的代码吗?你不仅仅是在没有先检查的情况下将整个URL转储到MySQL查询中,是吗?我在这里看到的唯一问题是,URL看起来很奇怪,末尾挂着一个数字,如果有文本值(请记住,地址栏是用户输入的,与其他地址栏一样需要仔细检查),它可能会返回
1