php 数组分页(demo)
php 数组分页主要用的是php内置函数 array_slice()
<?php
$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 \'<pre>\' ;
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);
}
return "<a href=index.php?page={$cur_page}>上一页</a>|<a href=index.php?page={$next_page}>下一页</a>" ;
}