首页 php分页类代码

php分页类代码

举报
开通vip

php分页类代码php分页类代码 ?php /** * 简单分页类 * */ class Pagination { /** * 分页显示样式一 * * @param int $allItemTotal 所有记录数量 * @param int $currPageNum 当前页数量 * @param int $pageSize 每页需要显示记录的数量 * @param string $pageName 当前页面的地址, 如果为空则由系统自动获取,缺省为空 * @param array $getParamL...

php分页类代码
php分页类代码 ?php /** * 简单分页类 * */ class Pagination { /** * 分页显示样式一 * * @param int $allItemTotal 所有记录数量 * @param int $currPageNum 当前页数量 * @param int $pageSize 每页需要显示记录的数量 * @param string $pageName 当前页面的地址, 如果为空则由系统自动获取,缺省为空 * @param array $getParamList 页面中需要传递的URL参数数组, 数组中key代表变量民,value代表变量值 * @return string 返回最后解析出分页HTML代码, 可以直接使用 * @example * echo cps_split_page(100, 2, 10, 'page.php', array('uid'= 1001, 'gid'= 2008)); * * 输出: [上一页] 1 [1] [2] [3] [4] [5] [6] [7] [8] [9] [10] 10 [下一页] */ public static function split1($allItemTotal, $currPageNum, $pageSize, $pageName='', $getParamList = array()){ if ($allItemTotal == 0) return ; //页面名称 if ($pageName==''){ $url = $_SERVER['PHP_SELF']. ?page= ; } else { $url = $pageName. ?page= ; } //参数 $urlParamStr = ; foreach ($getParamList as $key = $val) { $urlParamStr .= amp; . $key . = . $val; } //计算总页数 $pagesNum = ceil($allItemTotal/$pageSize); //第一页显示 $firstPage = ($currPageNum = 1) ? $currPageNum . /b lt; lt; : a href= . $url . 1 . $urlParamStr . title='第1页' 1 lt; lt; /a ; //最后一页显示 $lastPage = ($currPageNum = $pagesNum)? gt; gt; . $currPageNum : a href= . $url . $pagesNum . $urlParamStr. title='第 . $pagesNum . 页' gt; gt; . $pagesNum . /a ; //上一页显示 $prePage = ($currPageNum = 1) ? 上页 : a href= . $url . ($currPageNum-1) . $urlParamStr . accesskey='p' title='上一页' [上一页] /a ; //下一页显示 $nextPage = ($currPageNum = $pagesNum) ? 下页 : a href= . $url . ($currPageNum+1) . $urlParamStr . title='下一页' [下一页] /a ; //按页显示 $listNums = ; for ($i=($currPageNum-4); $i ($currPageNum+9); $i++) { if ($i 1 || $i $pagesNum) continue; if ($i == $currPageNum) $listNums.= [ .$i. ] nbsp; ; else $listNums.= nbsp; a href= . $url . $i . $urlParamStr . title=' 第 . $i . 页' [ . $i . ] /a nbsp; ; } $returnUrl = $prePage . nbsp; nbsp; . $firstPage . . $listNums . nbsp; . $lastPage . nbsp; . $nextPage; return $returnUrl; } /** * 分页显示样式二 * * @param int $allItemTotal 所有记录数量 * @param int $currPageNum 当前页数量 * @param int $pageSize 每页需要显示记录的数量 * @param string $pageName 当前页面的地址, 如果为空则由系统自动获取,缺省为空 * @param array $getParamList 页面中需要传递的URL参数数组, 数组中key代表变 量民,value代表变量值 * @return string 返回最后解析出分页HTML代码, 可以直接使用 * @example * echo pageStyle1(50, 2, 10, 's.php', array('id'= 1, 'name'= 'user')); * * 输出:上一页 1 2 3 4 5 下一页 [2] [GO] */ public static function split2($allItemTotal, $currPageNum, $pageSize, $pageName='', $getParamList = array()){ if ($allItemTotal == 0) return ; //页面名称 if ($pageName==''){ $url = $_SERVER['PHP_SELF']. ?page= ; } else { $url = $pageName. ?page= ; } //参数 $urlParamStr = ; foreach ($getParamList as $key = $val) { $urlParamStr .= amp; . $key . = . $val; } //计算总页数 $pagesNum = ceil($allItemTotal/$pageSize); //上一页显示 $prePage = ($currPageNum = 1) ? 上一页 : a href= . $url . ($currPageNum-1) . $urlParamStr . accesskey='p' title='上一页' 上一页 /a ; //下一页显示 $nextPage = ($currPageNum = $pagesNum) ? 下一页 : a href= . $url . ($currPageNum+1) . $urlParamStr . title='下一页' 下一页 /a ; //按页显示 $listNums = ; for ($i=($currPageNum-4); $i ($currPageNum+9); $i++) { if ($i 1 || $i $pagesNum) continue; if ($i == $currPageNum) $listNums.= nbsp; .$i. nbsp; ; else $listNums.= nbsp; a href= . $url . $i . $urlParamStr . title='第 . $i . 页' . $i . /a nbsp; ; } $returnUrl = $prePage . nbsp; nbsp; . $listNums . nbsp; nbsp; . $nextPage; $gotoForm = ' nbsp nbsp; input type= text size= 2 id= page_input value= '. $currPageNum .' / input type= button value= Go onclick= location.href=\''. $url .'\'+document.getElementById(\'page_input\').value+\''. $urlParamStr .'\' / '; return $returnUrl . $gotoForm; } /** * 分页显示样式三 * * @param int $allItemTotal 所有记录数量 * @param int $currPageNum 当前页数量 * @param int $pageSize 每页需要显示记录的数量 * @param string $pageName 当前页面的地址, 如果为空则由系统自动获取,缺省为空 * @param array $getParamList 页面中需要传递的URL参数数组, 数组中key代表变量民,value代表变量值 * @return string 返回最后解析出分页HTML代码, 可以直接使用 * @example * echo pageStyle1(50, 2, 10, 's.php', array('id'= 1, 'name'= 'user')); * * 输出:上一页 下一页 */ public static function split3($allItemTotal, $currPageNum, $pageSize, $pageName='', $getParamList = array()){ if ($allItemTotal == 0) return ; //页面名称 if ($pageName==''){ $url = $_SERVER['PHP_SELF']. ?page= ; } else { $url = $pageName. ?page= ; } //参数 $urlParamStr = ; foreach ($getParamList as $key = $val) { $urlParamStr .= amp; . $key . = . $val; } //计算总页数 $pagesNum = ceil($allItemTotal/$pageSize); //上一页显示 $prePage = ($currPageNum = 1) ? 上一页 : a href= . $url . ($currPageNum-1) . $urlParamStr . accesskey='p' title='上一页' 上一页 /a ; //下一页显示 $nextPage = ($currPageNum = $pagesNum) ? 下一页 : a href= . $url . ($currPageNum+1) . $urlParamStr . title='下一页' 下一页 /a ; $returnUrl = $prePage . nbsp; nbsp; . $nextPage; return $returnUrl; } /** * 分页显示4 * * @param int $allItemTotal 所有记录数量 * @param int $currPageNum 当前页数量 * @param int $pageSize 每页需要显示记录的数量 * @param string $pageName 当前页面的地址, 如果为空则由系统自动获取,缺省为空 * @param array $getParamList 页面中需要传递的URL参数数组, 数组中key代表变 量民,value代表变量值 * @return string 返回最后解析出分页HTML代码, 可以直接使用 * @example * echo pageStyle1(50, 2, 10, 's.php', array('id'= 1, 'name'= 'user')); * * 输出:第2/50页 上一页 1 2 3 4 5 下一页 跳到 [ ] 页 [GO] */ public static function split4($allItemTotal, $currPageNum, $pageSize, $pageName='', $getParamList = array()){ if ($allItemTotal == 0) return ; //页面名称 if ($pageName==''){ $url = $_SERVER['PHP_SELF']. ?page= ; $formUrl = $_SERVER['PHP_SELF']. ? ; } else { $url = $pageName. ?page= ; $formUrl = $pageName. ? ; } //参数 $urlParamStr = ; foreach ($getParamList as $key = $val) { $urlParamStr .= amp; . $key . = . $val; } $formUrl .= $urlParamStr . page= ; //计算总页数 $pagesNum = ceil($allItemTotal/$pageSize); //上一页显示 $prePage = ($currPageNum = 1) ? 上一页 : a href=' . $url . ($currPageNum-1) . $urlParamStr . ' title='上一页' class='page_pre' 上一页 /a ; //下一页显示 $nextPage = ($currPageNum = $pagesNum) ? 下一页 : a href=' . $url . ($currPageNum+1) . $urlParamStr . ' title='下一页' class='page_next' 下一页 /a ; //按页显示 $listNums = select name='page_select' id='page_select' \n ; for ($i=1; $i =$pagesNum; $i++) { if ($i 1 || $i $pagesNum) continue; if ($i == $currPageNum) $listNums .= option selected=true {$i} /option \n ; else $listNums .= option {$i} /option \n ; } $listNums .= /select \n ; $returnUrl = $prePage .' '. $nextPage . ' 共有'.$pagesNum.'页 跳到 '.$listNums . nbsp;页 ; $script = EOF script type= text/javascript function _pageSelect(url){ var o = document.getElementById( page_select ); var v = o.options[o.selectedIndex].text; window.location.replace(url+v); } /script EOF; $gotoForm = ' a href= javascript:_pageSelect(\''.$formUrl.'\'); onclick= //_pageSelect(\''.$formUrl.'\') GO /a '; return $script . $returnUrl . $gotoForm; } /** * 分页显示5 * * @param int $allItemTotal 所有记录数量 * @param int $currPageNum 当前页数量 * @param int $pageSize 每页需要显示记录的数量 * @param string $pageName 当前页面的地址, 如果为空则由系统自动获取,缺省为空 * @param array $getParamList 页面中需要传递的URL参数数组, 数组中key代表变 量民,value代表变量值 * @return string 返回最后解析出分页HTML代码, 可以直接使用 * @example * echo pageStyle1(50, 2, 10, 's.php', array('id'= 1, 'name'= 'user')); * * 输出:第2/50页 上一页 1 2 3 4 5 下一页 跳到 [ ] 页 [GO] */ public static function split5($allItemTotal, $currPageNum, $pageSize, $pageName='', $getParamList = array()){ if ($allItemTotal == 0) return ; //页面名称 if ($pageName==''){ $url = $_SERVER['PHP_SELF']. ?page= ; $formUrl = $_SERVER['PHP_SELF']. ? ; } else { $url = $pageName. ?page= ; $formUrl = $pageName. ? ; } //参数 $urlParamStr = ; foreach ($getParamList as $key = $val) { $urlParamStr .= amp; . $key . = . $val; } $formUrl .= $urlParamStr . page= ; //计算总页数 $pagesNum = ceil($allItemTotal/$pageSize); //上一页显示 $prePage = ($currPageNum = 1) ? 上一页 : a href=' . $url . ($currPageNum-1) . $urlParamStr . ' title='上一页' class='page_pre' 上一页 /a ; //下一页显示 $nextPage = ($currPageNum = $pagesNum) ? 下一页 : a href=' . $url . ($currPageNum+1) . $urlParamStr . ' title='下一页' class='page_next' 下一页 /a ; //按页显示 $listNums = ; for ($i=($currPageNum-1); $i ($currPageNum+4); $i++) { if ($i 1 || $i $pagesNum) continue; if ($i == $currPageNum) $listNums.= nbsp; span class='page_cur' .$i. /span ; else $listNums.= nbsp; a href=' . $url . $i . $urlParamStr . ' title='第 . $i . 页' class='page_other' . $i . /a ; } $returnUrl = ' span class= page_text 第'.$currPageNum.'/'.$pagesNum.'页 /span '. $prePage . . $listNums . nbsp; . $nextPage; $gotoForm = ' span class= page_jump 跳到 input type= text class= page_enter style= width:20px; id= page_input value= '. $currPageNum .' / 页 input type= button value= Go class= page_submit onclick= location.href=\''. $url .'\'+document.getElementById(\'page_input\').value+\''. $urlParamStr .'\' / '; return $returnUrl . $gotoForm; } } /* 例子: $allItemTotal = 1000; $currPageNum = isset($_GET['page']) ? $_GET['page'] : 1; $pageSize = 5; $pageName=''; $getParamList = array('classid'= 44); $pagination = new Pagination(); echo $pagination- split1($allItemTotal, $currPageNum, $pageSize, $pageName, $getParamList). br / ; echo $pagination- split2($allItemTotal, $currPageNum, $pageSize, $pageName, $getParamList). br / ; echo $pagination- split3($allItemTotal, $currPageNum, $pageSize, $pageName, $getParamList). br / ; echo $pagination- split4($allItemTotal, $currPageNum, $pageSize, $pageName, $getParamList). br / ; echo $pagination- split5($allItemTotal, $currPageNum, $pageSize, $pageName, $getParamList). br / ; */ ?
本文档为【php分页类代码】,请使用软件OFFICE或WPS软件打开。作品中的文字与图均可以修改和编辑, 图片更改请在作品中右键图片并更换,文字修改请直接点击文字进行修改,也可以新增和删除文档中的内容。
该文档来自用户分享,如有侵权行为请发邮件ishare@vip.sina.com联系网站客服,我们会及时删除。
[版权声明] 本站所有资料为用户分享产生,若发现您的权利被侵害,请联系客服邮件isharekefu@iask.cn,我们尽快处理。
本作品所展示的图片、画像、字体、音乐的版权可能需版权方额外授权,请谨慎使用。
网站提供的党政主题相关内容(国旗、国徽、党徽..)目的在于配合国家政策宣传,仅限个人学习分享使用,禁止用于任何广告和商用目的。
下载需要: 免费 已有0 人下载
最新资料
资料动态
专题动态
is_915724
暂无简介~
格式:doc
大小:37KB
软件:Word
页数:0
分类:生活休闲
上传时间:2017-09-28
浏览量:24