57sy

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>" ; 
}

 

分类:

技术点:

相关文章: