<?php
function
page_array(
$count
,
$page
,
$array
,
$order
){
global
$countpage
; #定全局变量
$page
=(
empty
(
$page
))?
'1'
:
$page
; #判断当前页面是否为空 如果为空就表示为第一页面
$start
=(
$page
-1)*
$count
; #计算每次分页的开始位置 -----------------------注意减一
if
(
$order
==1){
$array
=
array_reverse
(
$array
);
}
$totals
=
count
(
$array
);
$countpage
=
ceil
(
$totals
/
$count
); #计算总页面
$pagedata
=
array
();
$pagedata
=
array_slice
(
$array
,
$start
,
$count
);
return
$pagedata
; #返回查询数据
}
function
show_array(
$countpage
,
$url
){
$page
=
empty
(
$_GET
[
'page'
])?1:
$_GET
[
'page'
];
if
(
$page
> 1){
$uppage
=
$page
-1;
}
else
{
$uppage
=1;
}
if
(
$page
<
$countpage
){
$nextpage
=
$page
+1;
}
else
{
$nextpage
=
$countpage
;
}
$str
=
'<div style="border:1px; width:300px; height:30px; color:#9999CC">'
;
$str
.=
"<span>共 {$countpage} 页 / 第 {$page} 页</span>"
;
$str
.=
"<span><a href='$url?page=1'> 首页 </a></span>"
;
$str
.=
"<span><a href='$url?page={$uppage}'> 上一页 </a></span>"
;
$str
.=
"<span><a href='$url?page={$nextpage}'>下一页 </a></span>"
;
$str
.=
"<span><a href='$url?page={$countpage}'>尾页 </a></span>"
;
$str
.=
'</div>'
;
return
$str
;
}
//如果是作为类使用,把全局变量$countpage拿出来作为一个方法来获取即可
另附一个CI中使用数组来分页的方法
$array = $this->search->index($keyword,$index); //数据为从sphinx中得来
// var_dump($array);
$res_rows = is_array($array) ? count($array) : 0;
$pinfo = $this->uri->uri_to_assoc(3); //获取地址栏中page的信息
$page = (isset($pinfo['page']) && $pinfo['page']!='') ? $pinfo['page'] : 1;
$url = $_SERVER['HTTP_HOST'];
// var_dump($url);die;
$this->load->library('pagination');
$config['base_url'] = 'http://'.$url.'/search/index/page';
$config['total_rows'] = $res_rows;
$config['per_page'] = 2;
$config['num_links'] = 3;//页码连接数
$config['use_page_numbers'] = TRUE;
$config['reuse_query_string'] = TRUE ;
// $config['page_query_string'] = TRUE;
$start = ($page-1)*$config['per_page'];
$this->pagination->initialize($config);
$data = array_slice($array,$start,$config['per_page']);
// var_dump($data);
$pages = $this->pagination->create_links();
$this->load->view('search/search-'.$view,array('data'=>$data,'count'=>$res_rows,'pages'=>$pages,'keyword'=>$keyword)); //分配变量给模板
?>