|
分頁(yè)功能是php程序設(shè)計(jì)中非常常見(jiàn)的功能,不同于以往的,今天本文介紹的是php基于數(shù)組實(shí)現(xiàn)的分頁(yè)函數(shù)。
關(guān)于數(shù)組的分頁(yè)函數(shù),用數(shù)組進(jìn)行分頁(yè)的好處是可以方便的進(jìn)行聯(lián)合多表查詢,只需要將查詢的結(jié)果放在數(shù)組中就可以了以下是數(shù)組分頁(yè)的函數(shù),函數(shù)page_array用于數(shù)組的分頁(yè),函數(shù)show_array用于分頁(yè)函數(shù)的操作及顯示,需要配合使用。兩個(gè)函數(shù)通過(guò)全局變量$countpage發(fā)生聯(lián)系,此變量用于跟蹤總頁(yè)碼數(shù)。
具體實(shí)例代碼如下:
<?php/** * 數(shù)組分頁(yè)函數(shù) 核心函數(shù) array_slice * 用此函數(shù)之前要先將數(shù)據(jù)庫(kù)里面的所有數(shù)據(jù)按一定的順序查詢出來(lái)存入數(shù)組中 * $count 每頁(yè)多少條數(shù)據(jù) * $page 當(dāng)前第幾頁(yè) * $array 查詢出來(lái)的所有數(shù)組 * order 0 - 不變 1- 反序 */ function page_array($count,$page,$array,$order){ global $countpage; #定全局變量 $page=(empty($page))?'1':$page; #判斷當(dāng)前頁(yè)面是否為空 如果為空就表示為第一頁(yè)面 $start=($page-1)*$count; #計(jì)算每次分頁(yè)的開(kāi)始位置 if($order==1){ $array=array_reverse($array); } $totals=count($array); $countpage=ceil($totals/$count); #計(jì)算總頁(yè)面數(shù) $pagedata=array(); $pagedata=array_slice($array,$start,$count); return $pagedata; #返回查詢數(shù)據(jù)}/** * 分頁(yè)及顯示函數(shù) * $countpage 全局變量,照寫(xiě) * $url 當(dāng)前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} 頁(yè) / 第 {$page} 頁(yè)</span>"; $str.="<span><a href='$url?page=1'> 首頁(yè) </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}'>尾頁(yè) </a></span>"; $str.='</div>'; return $str;}?>
希望本文所述實(shí)例對(duì)大家的php程序設(shè)計(jì)能起到一定的借鑒作用。
php技術(shù):PHP基于數(shù)組實(shí)現(xiàn)的分頁(yè)函數(shù)實(shí)例,轉(zhuǎn)載需保留來(lái)源!
鄭重聲明:本文版權(quán)歸原作者所有,轉(zhuǎn)載文章僅為傳播更多信息之目的,如作者信息標(biāo)記有誤,請(qǐng)第一時(shí)間聯(lián)系我們修改或刪除,多謝。