PHP基于數(shù)組實(shí)現(xiàn)的分頁(yè)函數(shù)實(shí)例
分頁(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)合多表查詢(xún),只需要將查詢(xú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ù)按一定的順序查詢(xún)出來(lái)存入數(shù)組中 * $count 每頁(yè)多少條數(shù)據(jù) * $page 當(dāng)前第幾頁(yè) * $array 查詢(xún)出來(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; #返回查詢(xún)數(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}'> 上一頁(yè) </a></span>"; $str.="<span><a href='$url?page={$nextpage}'>下一頁(yè) </a></span>"; $str.="<span><a href='$url?page={$countpage}'>尾頁(yè) </a></span>"; $str.='</div>'; return $str; } ?>
希望本文所述實(shí)例對(duì)大家的PHP程序設(shè)計(jì)能起到一定的借鑒作用。
相關(guān)文章
PHP5中虛函數(shù)的實(shí)現(xiàn)方法分享
學(xué)過(guò)C++的人都應(yīng)該知道C++中有個(gè)虛函數(shù)的概念。而在php5中如何實(shí)現(xiàn)這個(gè)虛函數(shù)呢?2011-04-04mysql_fetch_assoc和mysql_fetch_row的功能加起來(lái)就是mysql_fetch_array
mysql_fetch_assoc和mysql_fetch_row的功能加起來(lái)就是mysql_fetch_array...2007-01-01php設(shè)計(jì)模式 Factory(工廠模式)
定義一個(gè)用于創(chuàng)建對(duì)象的接口,讓子類(lèi)決定將哪一個(gè)類(lèi)實(shí)例化,使用一個(gè)類(lèi)的實(shí)例化延遲到其子類(lèi)2011-06-06PHP實(shí)現(xiàn)可添加水印與生成縮略圖的圖片處理工具類(lèi)
這篇文章主要介紹了PHP實(shí)現(xiàn)可添加水印與生成縮略圖的圖片處理工具類(lèi),涉及php針對(duì)圖片的顯示、保存、壓縮、水印等相關(guān)操作技巧,需要的朋友可以參考下2018-01-01PHP向?yàn)g覽器輸出內(nèi)容的4個(gè)函數(shù)總結(jié)
這篇文章主要介紹了PHP向?yàn)g覽器輸出內(nèi)容的4個(gè)函數(shù)總結(jié),本文總結(jié)的就是print()、echo()、printf()、sprintf()這4個(gè)輸出函數(shù),需要的朋友可以參考下2014-11-11