【问题标题】:Codeigniter / Pagination / uri_to_assoc()Codeigniter / 分页 / uri_to_assoc()
【发布时间】:2012-10-03 14:08:59
【问题描述】:

我试图通过定义传递给单个控制器函数browse()的各种uri段来搜索产品列表。使用 CI 的 uri_to_assoc() 我正在建立一个传递给 SQL 查询的密钥对列表。但是,我很难弄清楚这方面的分页是如何工作的。我将举几个例子,希望能说明我的问题。

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

问题在于,当涉及到分页时,CI 总是将其添加到 url 的末尾。所以根据查询的深度,url中offset参数的位置会有所不同。

任何人都知道如何将偏移段引入这种格式,所以我总是知道它在哪里,不管上面的每个链接组合使用哪个?还要记住,在这些页面的第一次加载时,根本不会设置偏移段,并且只会在后续页面加载时出现。

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

谢谢。

【问题讨论】:

  • 我们可以看看您当前处理分页的代码吗?如果您使用 uri_to_assoc,不知道为什么需要“始终确切地知道它在哪里”,只需使用类似 page/4 的东西。如果您向我们展示您是如何配置它的(您的实际代码),那将非常有帮助。

标签: php codeigniter pagination


【解决方案1】:

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

 $offset = (int) end($this->uri->segment_array());

如果不是有效偏移量,类型转换会为您提供 0(因此您有一个基本偏移量)。

来源:http://codeigniter.com/user_guide/libraries/uri.html

【讨论】:

  • 但是当我这样做并将其拉入数组时,偏移量成为关键Array ( [category] => test [brand] => vasic+home [24] => )
  • @AdrianWalls:为什么这是个问题?我们可以看看你当前的代码吗?您不只是将整个 URL 转储到 MySQL 查询中而不先检查它,是吗?我在这里看到的唯一问题是 URL 看起来很奇怪,最后有一个数字悬空,并且它可能会返回 1 是否有文本值(请记住,地址栏是用户输入,受到与任何其他)。
猜你喜欢
  • 1970-01-01
  • 2016-07-07
  • 2023-03-16
  • 2017-01-17
  • 2012-07-08
相关资源
最近更新 更多