本文实例讲述了CodeIgniter分页类pagination使用方法。分享给大家供大家参考,具体如下:
controller控制器(application/controller/page.php文件):
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
|
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文件):
1
2
3
4
5
6
7
8
|
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程序设计有所帮助。