PHP基于數(shù)組實現(xiàn)的分頁函數(shù)實例
分頁功能是PHP程序設(shè)計中非常常見的功能,不同于以往的,今天本文介紹的是PHP基于數(shù)組實現(xiàn)的分頁函數(shù)。
關(guān)于數(shù)組的分頁函數(shù),用數(shù)組進行分頁的好處是可以方便的進行聯(lián)合多表查詢,只需要將查詢的結(jié)果放在數(shù)組中就可以了以下是數(shù)組分頁的函數(shù),函數(shù)page_array用于數(shù)組的分頁,函數(shù)show_array用于分頁函數(shù)的操作及顯示,需要配合使用。兩個函數(shù)通過全局變量$countpage發(fā)生聯(lián)系,此變量用于跟蹤總頁碼數(shù)。
具體實例代碼如下:
<?php /** * 數(shù)組分頁函數(shù) 核心函數(shù) array_slice * 用此函數(shù)之前要先將數(shù)據(jù)庫里面的所有數(shù)據(jù)按一定的順序查詢出來存入數(shù)組中 * $count 每頁多少條數(shù)據(jù) * $page 當(dāng)前第幾頁 * $array 查詢出來的所有數(shù)組 * order 0 - 不變 1- 反序 */ function page_array($count,$page,$array,$order){ global $countpage; #定全局變量 $page=(empty($page))?'1':$page; #判斷當(dāng)前頁面是否為空 如果為空就表示為第一頁面 $start=($page-1)*$count; #計算每次分頁的開始位置 if($order==1){ $array=array_reverse($array); } $totals=count($array); $countpage=ceil($totals/$count); #計算總頁面數(shù) $pagedata=array(); $pagedata=array_slice($array,$start,$count); return $pagedata; #返回查詢數(shù)據(jù) } /** * 分頁及顯示函數(shù) * $countpage 全局變量,照寫 * $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} 頁 / 第 {$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程序設(shè)計能起到一定的借鑒作用。
相關(guān)文章
mysql_fetch_assoc和mysql_fetch_row的功能加起來就是mysql_fetch_array
mysql_fetch_assoc和mysql_fetch_row的功能加起來就是mysql_fetch_array...2007-01-01PHP實現(xiàn)可添加水印與生成縮略圖的圖片處理工具類
這篇文章主要介紹了PHP實現(xiàn)可添加水印與生成縮略圖的圖片處理工具類,涉及php針對圖片的顯示、保存、壓縮、水印等相關(guān)操作技巧,需要的朋友可以參考下2018-01-01PHP向瀏覽器輸出內(nèi)容的4個函數(shù)總結(jié)
這篇文章主要介紹了PHP向瀏覽器輸出內(nèi)容的4個函數(shù)總結(jié),本文總結(jié)的就是print()、echo()、printf()、sprintf()這4個輸出函數(shù),需要的朋友可以參考下2014-11-11