一个比较简单的PHP 分页分组类
2015-01-24信息快讯网
最近写的一个PHP 分页分组类,写完后才看到,网上有太多的了,但是这个比较简单,记到此处,备用,对于学习php的朋友也是一个不错的参考。
<?php class mysqlPager{ var $pagePerNum=5;//每页显示数据项数 var $pagePerGroup=5;//每分页组中页数 var $curPage=0;//当前页,Defualt 第一页 var $totalPage=0;//总页数 var $totalNum=0;//数据项总数 var $curPageGroup=0;//当前分页组 var $curPageUrl="";//当前用到分页的 URL var $customStyle="";//自定义风格 var $pageQuerySql=""; function mysqlPager(){//构造函数 PHP4 } /** * 初始化所有变量 */ function InitAllVar($totalNum,$pagePerGroup,$curPageUrl,$curPage=1,$curPageGroup=1) { $this->totalNum=$totalNum; $this->pagePerGroup=$pagePerGroup; $this->curPageUrl=$curPageUrl; $this->curPage=$curPage; $this->curPageGroup=$curPageGroup; } /** * 设置当前页变量 * * @param 数字 $curPage */ function setCurPage($curPage) { $this->curPage=$curPage; } /** * 设置当前分页组变量 * * @param mixed $curPageGroup */ function setCurPageGroup($curPageGroup) { $this->curPageGroup=$curPageGroup; } /** * 设置当前用到分布类的URL * $curPageUrl string */ function setCurPageUrl($curPageUrl) { $this->curPageUrl=$curPageUrl; } /** * 获取所有 * * @param 数字 $totalNum * @param 数字 $curPage * @return float */ function getTotalPage($totalNum,$curPage=0) { return $this->totalPage=ceil($totalNum/$this->pagePerNum); } /** * 设置用户自定义风格 * * @param mixed $customStyle */ function setCustomStyle($customStyle) { $this->customStyle=$customStyle; } /** * 设置用户自定义风格返回字符串 * * * @param mixed $pagerString */ function setCustomStyleString($pagerString) { return $styleString="<span class=".$customStyle.">".$pagerString."</span>"; } /** * 输出导航页信息 可以不用参数,但是在使用前一定要设置相应的变量 * * @param mixed $curPageGroup * @param mixed $curPage * @param mixed $curPageUrl */ function showNavPager($curPageGroup=0,$curPage=0,$curPageUrl=0) { if($curPageGroup) { $this->curPageGroup=$curPageGroup; } if($curPage) { $this->curPage=$curPage; } if($curPageUrl) { $this->curPageUrl=$curPageUrl; } $rtnString=""; //判断变量是否以经初始化 if($this->curPageGroup && $this->curPageUrl && $this->totalNum && $this->curPage) { $this->totalPage=$this->getTotalPage($this->totalNum); if($this->curPage==1) $this->curPage=($this->curPageGroup-1)*$this->pagePerGroup+1; if($this->curPageGroup!=1) { $prePageGroup=$this->curPageGroup-1; $rtnString.="<a href=".$this->curPageUrl."?cpg=$prePageGroup >".$this->setCustomStyleString("<<")."</a> "; } for($i=1;$i<=$this->pagePerGroup;$i++) { $curPageNum=($this->curPageGroup-1)*$this->pagePerGroup+$i; if($curPageNum<=$this->totalPage){ if($curPageNum==$this->curPage) { $rtnString.=" ".$this->setCustomStyleString($curPageNum); }else { $rtnString.=" <a href=$this->curPageUrl?cpg={$this->curPageGroup}&cp=$curPageNum >"; $rtnString.=$this->setCustomStyleString($curPageNum)."</a>"; } } } if($this->curPageGroup<ceil($this->totalPage/$this->pagePerGroup)-1) { $nextPageGroup=$this->curPageGroup+1; $rtnString.=" <a href=$this->curPageUrl?cpg=$nextPageGroup >".$this->setCustomStyleString(">>")."</a>"; } $this->pageQuerySql=" limit ".(($this->curPage-1)*$this->pagePerNum).",".$this->pagePerNum; } else { $rtnString="错误:变量未初始化!"; } return $rtnString; } /** * 得到完整的查询MYSQL的Sql语句 * * @param mixed $sql */ function getQuerySqlStr($sql) { $allsql=$sql.$this->pageQuerySql; return $allsql; } /** * 设置每页有多少数据项 * * @param INT $num */ function setPagePerNum($num) { $this->pagePerNum=$num; } } ?> 使用方法: $curPage=$_GET['cp']; $curPageGroup=$_GET['cpg'] if($curPage=="") $curPage=1; if($curPageGroup=="") $curPageGroup=1; //都是从1开始,之前要对传入的数据进行验证,防注入 //。。。 $pager=new MysqlPager(); $pager->initAllVar(...) $pager->showNavPager(); //后面的SQL可以是任意的输出 $sql="select id form dbname "; $querysql=$pager->getQuerySqlStr($sql) //以后用$querysql 查询数据库就可以得到相应的结果集了
php基础学习之变量的使用
php学习之数据类型之间的转换介绍
php学习之运算符相关概念
php学习之流程控制实现代码
php学习之简单计算器实现代码
一个PHP缓存类代码(附详细说明)
PHP取得一个类的属性和方法的实现代码
一个PHP分页类的代码
php 数组的一个悲剧?
fleaphp常用方法分页之Pager使用方法
php压缩多个CSS为一个css的代码并缓存
写php分页时出现的Fatal error的解决方法
PHP分页函数代码(简单实用型)
php下封装较好的数字分页方法
php下图片文字混合水印与缩略图实现代码
PHP 采集程序中常用的函数
Php 构造函数construct的前下划线是双的_
PHP 读取文件内容代码(txt,js等)
PHP 用数组降低程序的时间复杂度
PHP 柱状图实现代码
又一个php 分页类实现代码
php google或baidu分页代码
PHP 长文章分页函数 带使用方法,不会分割段落,翻页在底部
Wordpress php 分页代码
php 3行代码的分页算法(求起始页和结束页)
PHP parse_url 一个好用的函数
封装一个PDO数据库操作类代码
一个PHP数组应该有多大的分析
PHP 页面跳转到另一个页面的多种方法方法总结