分頁功能是PHP程序設計中非常常見的功能,不同於以往的,今天本文介紹的是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;
}
?>
希望本文所述實例對大家的PHP程序設計能起到一定的借鑒作用。