国产探花免费观看_亚洲丰满少妇自慰呻吟_97日韩有码在线_资源在线日韩欧美_一区二区精品毛片,辰东完美世界有声小说,欢乐颂第一季,yy玄幻小说排行榜完本

首頁 > 編程 > PHP > 正文

功能強大的php分頁函數

2020-03-22 19:49:45
字體:
來源:轉載
供稿:網友
分頁是每一個程序需要去理解的東西,學習過的幾門語言中我發現分頁原理都是一樣的,下面為php初學者分析一下php分頁實現與最后面補充了一個超級強大的分頁函數。文章內容分頁主要有兩個辦法:辦法一、按字數控制進行分頁按字數分頁辦法簡單易用,但效果不好.大致思想:首先、設定每頁能容納的最大字數,然后、計算文章內容的總字數,再由總字數和單頁最大字數計算出出總頁數,這樣整個分頁的準備工作就已經做好了.具體到每一頁的顯示內容可以通過內容截取來實現,比如:頁容納500字,文章內容有2200字,那么當頁面傳遞page=2時應該顯示第501至1000之間的內容.這種辦法簡單,但顯示時可能會遇到麻煩,文章內容通常伴有HTML標簽,進行內容切割時實現HTML標簽的閉合有一定難度,如果這個工作沒做好,那么分頁后的效果顯然也是不好的.辦法二、通過分頁符進行分頁通過分頁符進行分頁比起第一種辦法要更為理想。大致思想:在編輯文章內容時往內容里面插入分頁符(如: hr ),在文章顯示時對文章內容進行分割,每一部分表示一個頁的內容,通過傳遞參數控制顯示第幾頁。這種辦法比較人性化,畢竟通過人工控制出來的分頁截取的內容更符全我們的思維,而且可以一定程度上避免HTML標簽不閉合的情形。分頁顯示:分頁顯示是將大批量的數據分批發送到客戶端的重要手段之一,通常是將數據庫中的結果集人為的分成一段一段的來顯示.分類:PHP分頁分為列表分頁和內容分頁,不管是列表分頁還是內容分頁,基本原理是一樣的,將數據分批發送到客戶端.pager.html' target='_blank'>class.php:這是一個簡單的PHP分頁顯示類,目前支持兩種分頁模式,一種是最簡單的普通分頁模式[首頁] [上頁] [下頁] [尾頁]模式,另一種是經典分頁模式,即:[1][2][3][4][5][6][7][8][9][10][下一頁][尾頁].使用方法,代碼如下:require_once 'pager.class.php'; $pager = new pager($totalPage,$currentPage); // $pager對象 echo $pager- showpager(); // 輸出分頁 此分頁顯示類的構造函數 @total_page 總頁數 @current_num 當前頁 @sub_pages 每次顯示的頁數 @subPage_link 每個分頁的鏈接 @subPage_type 分頁模式 當@subPage_type=1的時候為普通分頁模式 如: 共4523條記錄,每頁顯示10條,當前第1/453頁 [首頁] [上頁] [下頁] [尾頁] 當@subPage_type=2的時候為經典分頁樣式 如: 當前第1/453頁 [首頁] [上頁] 1 2 3 4 5 6 7 8 9 10 [下頁] [尾頁] */ 代碼如下:pager($total_page,$current_page,$sub_pages=10,$subPage_link='',$subPage_type=2)上述說的PHP分頁的兩種類別(列表分頁和內容分頁),相信列表分頁對大家并不陌生,對于內容分頁,常用的方法是以分頁符的形式(比如: hr )將內容分割成多段,求出總頁數,用當前頁碼去獲取分頁顯示列表,代碼如下: php * 示例: * php * require_once("pager.class.php"); * $subPages=new pager($totalPage,$currentPage); * echo $subPages- showpager(); * */ class pager{ var $each_disNums;//每頁顯示的條目數 var $nums;//總條目數 var $current_page;//當前被選中的頁 var $sub_pages;//每次顯示的頁數 var $pageNums;//總頁數 var $page_array = array();//用來構造分頁的數組 var $subPage_link;//每個分頁的鏈接 var $subPage_type;//顯示分頁的類型 var $_lang = array( 'index_page' = '首頁', 'pre_page' = '上一頁', 'next_page' = '下一頁', 'last_page' = '尾頁', 'current_page' = '當前頁:', 'total_page' = '總頁數:', 'current_show' = '當前顯示:', 'total_record' = '總記錄數:' __construct是SubPages的構造函數,用來在創建類的時候自動運行. @total_page 總頁數 @current_num 當前被選中的頁 @sub_pages 每次顯示的頁數 @subPage_link 每個分頁的鏈接 @subPage_type 顯示分頁的類型 當@subPage_type=1的時候 www.phpfensi.com 為普通分頁模式 example: 共4523條記錄,每頁顯示10條,當前第1/453頁 [首頁] [上頁] [下頁] [尾頁] 當@subPage_type=2的時候為經典分頁樣式 example: 當前第1/453頁 [首頁] [上頁] 1 2 3 4 5 6 7 8 9 10 [下頁] [尾頁] function __construct($total_page,$current_page,$sub_pages=10,$subPage_link='',$subPage_type=2){ $this- pager($total_page,$current_page,$sub_pages,$subPage_link,$subPage_type); function pager($total_page,$current_page,$sub_pages=10,$subPage_link='',$subPage_type=2){ if(!$current_page){ $this- current_page=1; }else{ $this- current_page=intval($current_page); $this- sub_pages=intval($sub_pages); $this- pageNums=ceil($total_page); if($subPage_link){ if(strpos($subPage_link,' page=') === false AND strpos($subPage_link,'&page=') === false){ $subPage_link .= (strpos($subPage_link,' ') === false ' ' : '&') . 'page='; $this- subPage_link=$subPage_link $subPage_link : $_SERVER['PHP_SELF'] . ' page='; $this- subPage_type = $subPage_type; show_SubPages函數用在構造函數里面。而且用來判斷顯示什么樣子的分頁 function showpager(){ if($this- subPage_type == 1){ return $this- pagelist1(); }elseif ($this- subPage_type == 2){ return $this- pagelist2();
}elseif ($this- current_page = $this- pageNums && $this- current_page $this- pageNums - $this- sub_pages + 1 ){ for($i=0;$i count($current_array);$i++){ $current_array[$i]=($this- pageNums)-($this- sub_pages)+1+$i; }else{ for($i=0;$i count($current_array);$i++){ $current_array[$i]=$this- current_page-2+$i; return $current_array; 構造普通模式的分頁 共4523條記錄,每頁顯示10條,當前第1/453頁 [首頁] [上頁] [下頁] [尾頁] function pagelist1(){ $subPageCss1Str=""; $subPageCss1Str.= $this- _lang['current_page'] . $this- current_page." / " .$this- pageNums." "; if($this- current_page 1){ $firstPageUrl=$this- subPage_link."1"; $prewPageUrl=$this- subPage_link.($this- current_page-1); $subPageCss1Str.=" a href='$firstPageUrl' {$this- _lang['index_page']} /a $subPageCss1Str.=" a href='$prewPageUrl' {$this- _lang['pre_page']} /a }else { $subPageCss1Str.="{$this- _lang['index_page']} "; $subPageCss1Str.="{$this- _lang['pre_page']} "; if($this- current_page $this- pageNums){ $lastPageUrl=$this- subPage_link.$this- pageNums; $nextPageUrl=$this- subPage_link.($this- current_page+1); $subPageCss1Str.=" a href='$nextPageUrl' {$this- _lang['next_page']} /a $subPageCss1Str.=" a href='$lastPageUrl' {$this- _lang['last_page']} /a }else { $subPageCss1Str.="{$this- _lang['next_page']} "; $subPageCss1Str.="{$this- _lang['last_page']} "; return $subPageCss1Str;
$subPageCss2Str=""; $subPageCss2Str.=$this- _lang['current_page'] . $this- current_page."/" . $this- pageNums." "; if($this- current_page 1){ $firstPageUrl=$this- subPage_link."1"; $prewPageUrl=$this- subPage_link.($this- current_page-1); $subPageCss2Str.=" a href='$firstPageUrl' {$this- _lang['index_page']} /a $subPageCss2Str.=" a href='$prewPageUrl' {$this- _lang['pre_page']} /a }else { $subPageCss2Str.="{$this- _lang['index_page']} "; $subPageCss2Str.="{$this- _lang['pre_page']} "; $a=$this- construct_num_Page(); for($i=0;$i count($a);$i++){ $s=$a[$i]; if($s == $this- current_page ){ $subPageCss2Str.="[ span ".$s." /span }else{ $url=$this- subPage_link.$s; $subPageCss2Str.="[ a href='$url' ".$s." /a if($this- current_page $this- pageNums){ $lastPageUrl=$this- subPage_link.$this- pageNums; $nextPageUrl=$this- subPage_link.($this- current_page+1); $subPageCss2Str.=" a href='$nextPageUrl' {$this- _lang['next_page']} /a $subPageCss2Str.=" a href='$lastPageUrl' {$this- _lang['last_page']} /a }else { $subPageCss2Str.="{$this- _lang['next_page']} "; $subPageCss2Str.="{$this- _lang['last_page']} "; return $subPageCss2Str;
好了我們只要把它保存在一個文件,在其它地方要使用時直接調用就可以了,非常好用的一個內容或記錄分頁類函數哦,這也算是一個入門級別的php教程吧。精彩專題分享:php分頁功能以上就是本文的全部內容,希望對大家的學習有所幫助,也希望大家多多支持phpstudy。PHP教程

鄭重聲明:本文版權歸原作者所有,轉載文章僅為傳播更多信息之目的,如作者信息標記有誤,請第一時間聯系我們修改或刪除,多謝。

發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
主站蜘蛛池模板: 伊吾县| 沅江市| 汾阳市| 定陶县| 维西| 济阳县| 建始县| 南召县| 疏勒县| 浦县| 陈巴尔虎旗| 乌鲁木齐县| 安庆市| 天等县| 武平县| 柯坪县| 南乐县| 金坛市| 台中市| 峨眉山市| 攀枝花市| 清丰县| 宣恩县| 叶城县| 故城县| 马山县| 东源县| 昌都县| 仲巴县| 渝中区| 黄骅市| 灵台县| 连南| 亚东县| 湖口县| 尖扎县| 平定县| 庐江县| 通州市| 祁门县| 河北省|