本文实例讲述了CodeIgniter分页类pagination使用方法。分享给大家供大家参考,具体如下:
controller控制器(application/controller/page.php文件):
public function index()
{
$this->load->model ( 'home_model' , '' , TRUE);
$config= array();
$config['per_page'] = $this->per_page; //每页显示的数据数
$current_page = intval($this->input->get_post('per_page',true)); //获取当前分页页码数
//page还原
if(0 == $current_page)
{
$current_page = 1;
}
$offset = ($current_page - 1 ) * $config['per_page']; //设置偏移量 限定 数据查询 起始位置(从 $offset 条开始)
$result = $this->home_model->index($offset,$config['per_page'],$order='id desc');
$config['base_url'] = $this->config->item('base_url').'admin/home/index?';
$config['first_link'] = $this->first_link;//首页
$config['prev_link'] = $this->prev_link;//上一页
$config['next_link'] = $this->next_link;//下一页
$config['last_link'] = $this->last_link;//尾页
$config['total_rows'] = $result['total'];//总条数
$config['num_links'] = 3;//页码连接数
$config['use_page_numbers'] = TRUE;
$config['page_query_string'] = TRUE;
$this->load->library('pagination');//加载ci pagination类
$this->pagination->initialize($config);
$result = array(
'list' => $result['list'],
'total' => $result['total'],
'current_page' => $current_page,
'per_page' => $config['per_page'],
'page' => $this->pagination->create_links(),
);
$this->load->view ( 'admin/home' , $result );
}
model模型(application/model/home_model.php文件):
public function index($offset,$num,$order='id desc')
{
$query = $this->db->query( "SELECT Name_cn,Mall_type,create_time FROM smzdm_mall WHERE Is_deleted = 0 order by {$order} limit {$offset},{$num}");
return array(
'total' => $this->db->count_all('smzdm_mall',array('Is_deleted'=>'0')),
'list' => $query->result(),
);
}
希望本文所述对大家基于CodeIgniter框架的PHP程序设计有所帮助。