• 欢迎访问搞代码网站,推荐使用最新版火狐浏览器和Chrome浏览器访问本网站!
  • 如果您觉得本站非常有看点,那么赶紧使用Ctrl+D 收藏搞代码吧

一个比较简单的PHP 分页分组类_php实例

php 搞代码 3年前 (2022-01-26) 37次浏览 已收录 0个评论
<?php <BR>class mysqlPager{ <BR>var $pagePerNum=5;//每页显示数据项数 <BR>var $pagePerGroup=5;//每分页组中页数 <BR>var $curPage=0;//当前页,Defualt 第一页 <BR>var $totalPage=0;//总页数 <BR>var $totalNum=0;//数据项总数 <BR>var $curPageGroup=0;//当前分页组 <BR>var $curPageUrl="";//当前用到分页的 URL <BR>var $customStyle="";//自定义风格 <BR>var $pageQuerySql=""; <BR>function mysqlPager(){//构造函数 PHP4 <BR>} <BR>/** <BR>* 初始化所有变量 <BR>*/ <BR>function InitAllVar($totalNum,$pagePerGroup,$curPageUrl,$curPage=1,$curPageGroup=1) <BR>{ <BR>$this->totalNum=$totalNum; <BR>$this->pagePerGroup=$pagePerGroup; <BR>$this->curPageUrl=$curPageUrl; <BR>$this->curPage=$curPage; <BR>$this->curPageGroup=$curPageGroup; <BR>} <BR>/** <BR>* 设置当前页变量 <BR>* <BR>* @param 数字 $curPage <BR>*/ <BR>function setCurPage($curPage) <BR>{ <BR>$this->curPage=$curPage; <BR>} <BR>/** <BR>* 设置当前分页组变量 <BR>* <BR>* @param mixed $curPageGroup <BR>*/ <BR>function setCurPageGroup($curPageGroup) <BR>{ <BR>$this->curPageGroup=$curPageGroup; <BR>} <BR>/** <BR>* 设置当前用到分布类的URL <BR>* $curPageUrl string <BR>*/ <BR>function setCurPageUrl($curPageUrl) <BR>{ <BR>$this->curPageUrl=$curPageUrl; <BR>} <BR>/** <BR>* 获取所有 <BR>* <BR>* @param 数字 $totalNum <BR>* @param 数字 $curPage <BR>* @return float <BR>*/ <BR>function getTotalPage($totalNum,$curPage=0) <BR>{ <BR>return $this->totalPage=ceil($totalNum/$this->pagePerNum); <BR>} <BR>/** <BR>* 设置用户自定义风格 <BR>* <BR>* @param mixed $customStyle <BR>*/ <BR>function setCustomStyle($customStyle) <BR>{ <BR>$this->customStyle=$customStyle; <BR>} <BR>/** <BR>* 设置用户自定义风格返回字符串 <BR>* <BR>* <BR>* @param mixed $pagerString <BR>*/ <BR>function setCustomStyleString($pagerString) <BR>{ <BR>return $styleString="<span class=".$customStyle.">".$pagerString."</span>"; <BR>} <BR>/** <BR>* 输出导航页信息 可以不用参数,但是在使用前一定要设置相应的变量 <BR>* <BR>* @param mixed $curPageGroup <BR>* @param mixed $curPage <BR>* @param mixed $curPageUrl <BR>*/ <BR>function showNavPager($curPageGroup=0,$curPage=0,$curPageUrl=0) <BR>{ <BR>if($curPageGroup) <BR>{ <BR>$this->curPageGroup=$curPageGroup; <BR>} <BR>if($curPage) <BR>{ <BR>$this->curPage=$curPage; <BR>} <BR>if($curPageUrl) <BR>{ <BR>$this->curPageUrl=$curPageUrl; <BR>} <BR>$rtnString=""; <BR>//判断变量是否以经初始化 <BR>if($this->curPageGroup && $this->curPageUrl && $this->totalNum && $this->curPage) <BR>{ <BR>$this->totalPage=$this->getTotalPage($this->totalNum); <BR>if($this->curPage==1) <BR>$this->curPage=($this->curPageGroup-1)*$this->pagePerGroup+1; <BR>if($this->curPageGroup!=1) <BR>{ <BR>$prePageGroup=$this->curPageGroup-1; <BR>$rtnString.="curPageUrl."?cpg=$prePageGroup >".$this->setCustomStyleString("<<")." "; <BR>} <BR>for($i=1;$ipagePerGroup;$i++) <BR>{ <BR>$curPageNum=($this->curPageGroup-1)*$this->pagePerGroup+$i; <BR>if($curPageNumtotalPage){ <BR>if($curPageNum==$this->curPage) <BR>{ <BR>$rtnString.=" ".$this->setCustomStyleString($curPageNum); <BR>}else <BR>{ <BR>$rtnString.=" curPageUrl?cpg={$this->curPageGroup}&cp=$curPageNum >"; <BR>$rtnString.=$this->setCustomStyleString($curPageNum).""; <BR>} <BR>} <BR>} <BR>if($this->curPageGrouptotalPage/$this->pagePerGroup)-1) <BR>{ <BR>$nextPageGroup=$this->curPageGroup+1; <BR>$rtnString.=" curPageUrl?cpg=$nextPageGroup >".$this->setCustomStyleString(">>").""; <BR>} <BR>$this->pageQuerySql=" limit ".(($this->curPage-1)*$this->pagePerNu<em style="color:transparent">本文来源gao.dai.ma.com搞@代*码#网</em><a>搞代gaodaima码</a>m).",".$this->pagePerNum; <br><br>} <BR>else <BR>{ <BR>$rtnString="错误:变量未初始化!"; <BR>} <BR>return $rtnString; <BR>} <BR>/** <BR>* 得到完整的查询MYSQL的Sql语句 <BR>* <BR>* @param mixed $sql <BR>*/ <BR>function getQuerySqlStr($sql) <BR>{ <BR>$allsql=$sql.$this->pageQuerySql; <BR>return $allsql; <BR>} <BR>/** <BR>* 设置每页有多少数据项 <BR>* <BR>* @param INT $num <BR>*/ <BR>function setPagePerNum($num) <BR>{ <BR>$this->pagePerNum=$num; <BR>} <BR>} <BR>?> <BR>使用方法: <BR>$curPage=$_GET['cp']; <BR>$curPageGroup=$_GET['cpg'] <BR>if($curPage=="") <BR>$curPage=1; <BR>if($curPageGroup=="") <BR>$curPageGroup=1; <BR>//都是从1开始,之前要对传入的数据进行验证,防注入 <BR>//。。。 <BR>$pager=new MysqlPager(); <BR>$pager->initAllVar(...) <BR>$pager->showNavPager(); <BR>//后面的SQL可以是任意的输出 <BR>$sql="select id form dbname "; <BR>$querysql=$pager->getQuerySqlStr($sql) <BR>//以后用$querysql 查询数据库就可以得到相应的结果集了<BR>

搞代码网(gaodaima.com)提供的所有资源部分来自互联网,如果有侵犯您的版权或其他权益,请说明详细缘由并提供版权或权益证明然后发送到邮箱[email protected],我们会在看到邮件的第一时间内为您处理,或直接联系QQ:872152909。本网站采用BY-NC-SA协议进行授权
转载请注明原文链接:一个比较简单的PHP 分页分组类_php实例
喜欢 (0)
[搞代码]
分享 (0)
发表我的评论
取消评论

表情 贴图 加粗 删除线 居中 斜体 签到

Hi,您需要填写昵称和邮箱!

  • 昵称 (必填)
  • 邮箱 (必填)
  • 网址