ci php 接口带参数,URL带有其他参数时,如何使用PHP的CI框架分页类?

最近在学习用PHP的CI框架写一个自己的CMS,遇到了些问题。

其中一个就是CI分页的时候,我的URL带有其他参数,才能查出我想要的数据。于是我翻遍了谷歌度娘,终于找到了解决办法,和我想的差不多,就贴出了和大家分享下。

首先,设置你的base_url,$block,create_id,has_pass,pass_id为我的查询条件,表单提交GET方式,根据条件的有无,修改base_url和查询条件

$config['base_url'] =  base_url()."index.php/admin/article/manage?";

if(!empty($_GET['block'])){

$this->db->where('class_id', $_GET['block']);

$config['base_url'].="&block=".$_GET['block'];
   }

if(!empty($_GET['create_id'])){

$this->db->where('create_id', $_GET['create_id']);

$config['base_url'].="&create_id=".$_GET['create_id'];

}

if(!empty($_GET['has_pass'])){

$this->db->where('has_pass', $_GET['has_pass']);

$config['base_url'].="&has_pass=".$_GET['has_pass'];

}

if(!empty($_GET['pass_id'])){

$this->db->where('pass_id', $_GET['pass_id']);

$config['base_url'].="&pass_id=".$_GET['pass_id'];

}

然后开启page_query_string

$config['page_query_string'] = TRUE;

最后出现的URL是这样的

http://localhost/lycms/index.php/admin/article/manage?&block=8&create_id=0&has_pass=1&pagenow=2

&per_page=2是开启page_query_string后,自动在url后追加的。

OK,就这样搞定了。

还有的同学想在CI输出分页链接的时候加上"共X条记录 N/X页"等字样,其实很简单,只要在CI分页类的文件system\libraries\Pagination.php 里添加如下代码即可

// And here we go...

$output = '共'.$this->total_rows.'条记录  '.$this->cur_page .'/'.$num_pages.'页 ';

好吧,就这样

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
### 回答1: 是的,在 RESTful API 连接中,可以使用带有 URL 的问号参数。这些参数通常作为查询字符串发送到 API,并用于限制或筛选 API 返回的结果。例如,您可以使用 URL 参数限制 API 返回的结果的数量或型。在 URL 中添加参数的方式如下: ``` https://api.example.com/resources?param1=value1&param2=value2 ``` ### 回答2: 在RESTful连接中,带有URL的问号参数是指通过在URL后面添加问号,然后跟随参数的方式。 RESTful连接本身是基于URL路径的设计风格,它将资源表示为URL的一部分。通常,RESTful连接使用URL路径来表示资源的层次结构和关系,以便客户端可以通过URL直接访问相应的资源。 然而,在某些情况下,我们可能需要将额外的信息传递给服务器或获取特定资源的子集。这,我们可以使用URL的问号参数来实现这个目的。 问号参数通常是以键值对的形式出现,多个键值对之间用“&”符号分隔。例如,我们可以通过以下方式向服务器传递参数: GET /api/resource?page=1&size=10 在这个例子中,我们向服务器请求一个资源,并传递了两个参数,即页码(page)和每页的大小(size)。服务器可以根据这些参数来返回相应的结果,例如返回第一页的10个资源。 需要注意的是,问号参数是可选的,在某些情况下可以省略。如果没有提供参数,服务器可能会采取默认值或返回全部资源。 总结起来,虽然RESTful连接更倾向于使用URL路径来表示资源,但在需要向服务器传递额外信息或获取特定子集资源,可以使用带有URL的问号参数。这种方式可以灵活地实现对特定资源或请求的定制化。 ### 回答3: 在 RESTful 连接中,一般不会使用带有问号的 URL 参数。RESTful 是一种以资源为中心的设计风格,它使用 URL 来表示资源的路径和操作方式。RESTful 通过 HTTP 方法(GET、POST、PUT、DELETE)来执行对资源的操作,而不是依靠 URL 参数来执行操作。 URL 参数通常用于传递查询参数或请求过滤条件。例如,在一个电子商务网站上,可以使用似以下的 URL 参数来获取特定别的商品列表: ``` GET /products?category=electronics ``` 在 RESTful 设计中,更倾向于将查询参数作为路径的一部分,而不是使用问号参数。上述例子可以被改写为: ``` GET /products/electronics ``` 这样更加符合 RESTful 的设计原则,使得 URL 更加简洁和语义化。 然而,并不是说在 RESTful 连接中完全禁止使用问号参数。在某些特定情况下,可以使用问号参数来传递一些非资源相关的信息。例如,分页信息、排序条件等。但这些参数仅仅是补充性的,并不是 RESTful 设计的核心部分。因此,在设计 RESTful 连接,应该优先考虑使用路径参数来表示资源,而非依赖于问号的 URL 参数

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值