Skip to content

minuux/codeigniter-library-paginate

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

17 Commits
 
 
 
 
 
 
 
 

Repository files navigation

#codeigniter 分页类

##require

  • helper:url
  • database

##使用

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

$this->db->start_cache();//需要缓存where语句,用于统计总行数

$this->db->where('field_name','field_value');
$this->paginate->filter(array('nickname'));
$this->db->from('view_recruits');

$this->db->stop_cache();

$this->db->order_by('id');//分页,必须指定排序规则
$this->paginate->get();

####返回的对象$this->paginate->get()为一个对象

  {
       'total' => int,//总行数
       'per_page' => int,//每页显示的行
       'cur_page' => int,//当前页码
       'num_page' =>int,//总页数
       'data' => array(),//结果集
       'links' => string//$this->pagination->create_links()返回的字符串
  }

##配置filter

$filter=array(
'title',//简单列出字段名,将会使用默认值field_type:string,field_name:title,field_match:fuzzy,也可以像下面的字段详细的设置
'user_id'=>array(
         'field_type'=>'number',//只区分了两种number|string,满足type的时候才会添加到where语句中
         'field_name'=>'user_id',//字段在sql中的名称,使用join的时候,可以写成 table1.user_id 来指定
         'field_match'=>'precise' //match有两种,精准(precise)|模糊(fuzzy)查询两种
        )
)

  • 精准(precise):通过在查询的值前后添加号来模糊查询,比如 内容 类似 like '内容%',也可以通过*,*查询多个值. 内容1,内容2 类似 in('内容1','内容2')

  • 模糊(fuzzy):效果类似 like '%内容%'