php 数组分页主要用的是php内置函数 array_slice()php
<?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>" ; }