php 数组分页主要用的是php内置函数 array_slice()
$data = array(
array('id'=>1,'name'=>'wangjian1'),
array('id'=>2,'name'=>'wangjian2'),
array('id'=>3,'name'=>'wangjian3'),
array('id'=>4,'name'=>'wangjian4'),
array('id'=>5,'name'=>'wangjian5'),
array('id'=>6,'name'=>'wangjian6'),
array('id'=>7,'name'=>'wangjian7'),
);
$page = intval($_GET['page']) ;
$d = page_array($page,2,count($data),$data);
echo '
' ;
print_r($d);
echo page_string($page,2,count($data));
/*
@page 当前第几页数据
@page_count每页显示的数据
@all_num总共的数量
@data 查询出来的数组
*/
function page_array($page,$page_count,$all_num,$data){
if(!$page){
$page = 1 ;
}
$page_num = ceil($all_num/$page_count); //总共几页
if($page>=$page_num){
$page = $page_num ;
}
$start = ($page-1)*$page_count; //从哪里开始
return array_slice($data,$start,$page_count) ;
}
/*
@page 当前第几页数据
@page_count每页显示的数据
@all_num总共的数量
*/
function page_string($page,$page_count,$all_num){
$next_page = $page +1 ;
$cur_page = $page - 1 ;
if($cur_page<=0){
$cur_page = 1 ;
}
if($next_page >=ceil($all_num/$page_count)){
$next_page = ceil($all_num/$page_count);
}
}