php 数组分页(demo)

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>" ; 
}
相关文章
相关标签/搜索