最近在用ci框架写功能的时候,需要用到分页功能,本来寻常的数据结果分页是比较简单的,但是这次写的功能是多条件搜索查询分页,就有点难度了,看官方手册下面评论好多人问,

正常的分页功能例子是这样的:

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

 $config['base_url'] = 'http://example.com/index.php/test/page/';
$config['total_rows'] = 200;
$config['per_page'] = 20; $this->pagination->initialize($config); echo $this->pagination->create_links();

多条件搜索查询分页例子:

 class Monitors extends CI_Controller {
public function warning(){
$config= array();
$config['per_page'] = 15; //每页显示的数据数
$current_page = intval($this->input->get("per_page")); //获取当前分页页码数 $status=$this->input->get("filter-status",TRUE);
$level=$this->input->get('filter-level',TRUE);
$timestamp=$this->input->get('filter-timestamp',TRUE);
$all = $this->monitors_m->getAllData($current_page,$config['per_page'],$status,$timestamp,$level);
//这里返回的有总条数和具体的数据,根据自己的情况略加修改即可
$data['allevent'] = $all['content'];
$config['total_rows'] = $all['count'];//总条数
$config['num_links'] = 3;//页码连接数
$config['use_page_numbers'] = TRUE;
$config['page_query_strings'] = TRUE;//关键配置
$config['base_url'] = base_url().'index.php/monitors/warning?'&filter-status='.$status.'&filter-level='.$level.'&filter-timestamp='.$timestamp;//关键配置
$this->load->library('pagination');//加载ci pagination类
$this->pagination->initialize($config);
$data['page'] = $this->pagination->create_links();//关键代码
$this->load->view("monitors_v",$data);
}

需要注意的几个地方,第一个:

 $config['page_query_strings'] = TRUE;//关键配置

第二个:

 $config['base_url'] = base_url().'index.php/monitors/warning?'&filter-status='.$status.'&filter-level='.$level.'&filter-timestamp='.$timestamp;//关键配置

第三个:

 $this->pagination->create_links();//关键代码

第四个:这个是查询的数据,返回的需要是分页的数据,这个要注意,

 $all = $this->monitors_m->getAllData($current_page,$config['per_page'],$status,$timestamp,$level);

把这些配置好,基本上就可以了,感谢大家!

CodeIgniter框架多条件搜索查询分页功能解决方案的更多相关文章

  1. MVC5搜索/查询 流程功能的实现

    接着上次的篇幅,我们这篇手动来写一个查询的流程代码!  搜索/查询 流程功能的实现 那现在要做搜索(查询)功能我们第一步应该做什么呢!第一次是不是我们应该去Controller(控制器)里去搞一个搜索 ...

  2. poscms基于list标签实现的查询分页功能

    poscms系统本身有一个在查询页(search页面)实现的查询分页功能,基于系统封装的php函数dr_search_url() 但是今天的需求除了导航栏.列表页.详情页都实现查询功能外,关键是有两个 ...

  3. 夺命雷公狗---DEDECMS----33dedecms自定义搜索以及分页功能完成

    我们现在要开始实现模版里面的搜索功能了,我们先找要做出一个检索提交表单,如下所示: 只要我们点击生成之后我们的表单就获取到了,可以直接拿生成好的html表单拿来用来测试下.. 将他嵌入首页的模版文件, ...

  4. 测试开发【提测平台】分享9-DBUntils优化数据连接&实现应用搜索和分页功能

    微信搜索[大奇测试开],关注这个坚持分享测试开发干货的家伙. 从本期开始知识点讲以思维导图的形式给出,内容点会按照讲解-应用-展示的形式体现,这样会更清晰些. DBUntils连接池 在项目中链接数据 ...

  5. phpcmsv9多表联合查询分页功能实现

    phpcms v9里面自带的listinfo分页函数蛮好用的,可惜啊.不支持多表查询并分页. 看了一下前台模板层支持get标签,支持多表查询,支持分页.刚好可以把这个功能搬到后台来使用. 我们现在对g ...

  6. jQuery 条件搜索查询 实时取值 升降序排序

    一.鼠标点击获取搜索条件中的被选中的值 创建方法  getAttrValue() 方法,每次的 .click 都要调用  function  getAttrValue(){} 例如,把选中的值给到属性 ...

  7. 框架 hibernate3 多条查询 分页

    package com.hanqi.test; import java.util.Date; import java.util.List; import org.hibernate.Session; ...

  8. Laravel 多条件搜索查询

    做查询功能时,输入的关键词有的为空,有的有值,如何实现多功能查询呢?这里介绍一种方法.(基于laravel) 原理很简单,第一步:判断接收的值,第二步:写查询语句.具体实现如下: //首先,创建句柄: ...

  9. c# datagridview按条件搜索查询过滤

    DataView的RowFilter 实现过滤 根据文本框文字对datagridview的数据进行模糊查询, 其实也就是一个过滤 string qymc = textBox1.Text.ToStrin ...

随机推荐

  1. oracle函数 exp(y)

    [功能]返回e的y次幂(e为数学常量) [参数]y,数字型表达式 [返回]数字 [示例] select exp(3),exp(0),exp(-3) from dual; 返回:20.0855369,1 ...

  2. 从 SGD 到 Adam —— 深度学习优化算法概览(一) 重点

    https://zhuanlan.zhihu.com/p/32626442 骆梁宸 paper插画师:poster设计师:oral slides制作人 445 人赞同了该文章 楔子 前些日在写计算数学 ...

  3. day1_python运算符

    运算符 计算机可以进行的运算有很多种,可不只加减乘除这么简单,运算按种类可分为算数运算.比较运算.逻辑运算.赋值运算.成员运算.身份运算.位运算,今天我们暂只学习算数运算.比较运算.逻辑运算.赋值运算 ...

  4. spring mvc 接收表单 bean

    spring MVC如何接收表单bean 呢? 之前项目中MVC框架一直用struts2,所以我也就按照struts2 的思维来思考 页面loginInput.jsp: <?xml versio ...

  5. C# 配置文件存储 各种序列化算法性能比较

    本文比较多个方式进行配置文件的存储,对比各个不同算法的读写性能. 在应用软件启动的时候,需要读取配置文件,但是启动的性能很重要,所以需要有一个很快的读取配置文件的方法. 如果你不想看过程,那么请看拖动 ...

  6. H3C 配置高级ACL

  7. phpStudy中升级MySQL版本到5.7.17的方法步骤

    http://www.jb51.net/article/120263.htm 前言 今天在工作发现一个错误,在往本地导数据表的时候老是报错: ? 1 [Err] 1294 - Invalid ON U ...

  8. 如何理解springMVC?

    springMVC 工作原理? 简单理解:客户端发送请求-->前端控制器接受客户端的请求DispathServelt-->找到处理器映射HandMapping-->找到处理器hand ...

  9. 微信里首次跳转会到首页问题(window.location失效)

    将window.location.href 换为location.href

  10. CF1228——记一次和紫名失之交臂的CF

    CF1228--记一次和紫名失之交臂的CF 第无数次和暴涨失之交臂 A 题目大意给定\(l,r\)输出任意一个\(l,r\)之间的每一位都不同的数 \((l <= r <= 10^5)\) ...