php基於數組的分頁實現


關於數組的分頁函數,用數組進行分頁的好處是可以方便的進行聯合多表查詢,只需要將查詢的結果放在數組中就可以了以下是數組分頁的函數,函數page_array用於數組的分頁,函數show_array用於分頁函數的操作及顯示,需要配合使用.兩個函數通過全局變量$countpage發生聯系,此變量用於跟蹤總頁碼數.

<?php  
/** 
 * 數組分頁函數  核心函數  array_slice 
 * 用此函數之前要先將數據庫里面的所有數據按一定的順序查詢出來存入數組中 
 * $count   每頁多少條數據 
 * $page   當前第幾頁 
 * $array   查詢出來的所有數組 
 * order 0 - 不變     1- 反序 
 */   
  
function page_array($count,$page,$array,$order){  
    global $countpage; #定全局變量  
    $page=(empty($page))?'1':$page; #判斷當前頁面是否為空 如果為空就表示為第一頁面   
       $start=($page-1)*$count; #計算每次分頁的開始位置  
    if($order==1){  
      $array=array_reverse($array);  
    }     
    $totals=count($array);    
    $countpage=ceil($totals/$count); #計算總頁面數  
    $pagedata=array();  
    $pagedata=array_slice($array,$start,$count);  
    return $pagedata;  #返回查詢數據  
}  
/** 
 * 分頁及顯示函數 
 * $countpage 全局變量,照寫 
 * $url 當前url 
 */  
function show_array($countpage,$url){  
     $page=empty($_GET['page'])?1:$_GET['page'];  
     if($page > 1){  
        $uppage=$page-1;  
  
     }else{  
        $uppage=1;  
     }  
  
     if($page < $countpage){  
        $nextpage=$page+1;  
  
     }else{  
            $nextpage=$countpage;  
     }  
         
        $str='<div style="border:1px; width:300px; height:30px; color:#9999CC">';  
    $str.="<span>共  {$countpage}  頁 / 第 {$page} 頁</span>";  
    $str.="<span><a href='$url?page=1'>   首頁  </a></span>";  
    $str.="<span><a href='$url?page={$uppage}'> 上一頁  </a></span>";  
    $str.="<span><a href='$url?page={$nextpage}'>下一頁  </a></span>";  
    $str.="<span><a href='$url?page={$countpage}'>尾頁  </a></span>";  
    $str.='</div>';  
    return $str;  
}  
?>  

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM