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>" ; 
}
相關文章
相關標籤/搜索