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

PHP实现的简单分页类及用法示例_php技巧

php 搞代码 3年前 (2022-01-26) 43次浏览 已收录 0个评论

本文实例讲述了PHP实现的简单分页类及用法。分享给大家供大家参考,具体如下:

page; * * 获得总页数 * $page->pageCount; * * 获得总记录数 * $page->rowCount; * * 获得本页记录数 * $page->listSize; * * 获得记录集 * $page->list; * 记录集是一个2维数组,例:list[0]['id']访问第一条记录的id字段值. * * 获得页码列表 * $page->getPageList(); */class Page{  //基础数据  var $sql;  var $page;  var $pageSize;  var $pageStr;  //统计数据  var $pageCount; //页数  var $rowCount; //记录数  //结果数据  var $list = array(); //结果行数组  var $listSize ;  //构造函数  function Page($conn,$sql_in,$page_in,$pageSize_in,$pageStr_in)  {    $this->sql = $sql_in;    $this->page = intval($page_in);    $this->pageSize = $pageSize_in;    $this->pageStr = $pageStr_in;    //页码为空或小于1的处理    if(!$this->page||$this->pagepage = 1;    }    //查询总记录数    $rowCountSql = pre<span>!本文来源gaodai#ma#com搞*!代#%^码网5</span><pre>搞gaodaima代码

g_replace(“/([\w\W]*?select)([\w\W]*?)(from[\w\W]*?)/i”,”$1 count(0) $3″,$this->sql); if(!$conn) $rs = mysql_query($rowCountSql) or die(“bnc.page: error on getting rowCount.”); else $rs = mysql_query($rowCountSql,$conn) or die(“bnc.page: error on getting rowCount.”); $rowCountRow = mysql_fetch_row($rs); $this->rowCount=$rowCountRow[0]; //计算总页数 if($this->rowCount%$this->pageSize==0) $this->pageCount = intval($this->rowCount/$this->pageSize); else $this->pageCount = intval($this->rowCount/$this->pageSize)+1; //SQL偏移量 $offset = ($this->page-1)*$this->pageSize; if(!$conn) $rs = mysql_query($this->sql.” limit $offset,”.$this->pageSize) or die(“bnc.page: error on listing.”); else $rs = mysql_query($this->sql.” limit $offset,”.$this->pageSize,$conn) or die(“bnc.page: error on listing.”); while($row=mysql_fetch_array($rs)) { $this->list[]=$row; } $this->listSize = count($this->list); } /* * getPageList方法生成一个较简单的页码列表 * 如果需要定制页码列表,可以修改这里的代码,或者使用总页数/总记录数等信息进行计算生成. */ function getPageList() { $firstPage; $previousPage; $pageList; $nextPage; $lastPage; $currentPage; //如果页码>1则显示首页连接 if($this->page>1) { $firstPage = “pageStr.”1\”>首页”; } //如果页码>1则显示上一页连接 if($this->page>1) { $previousPage = “pageStr.($this->page-1).”\”>上一页”; } //如果没到尾页则显示下一页连接 if($this->pagepageCount) { $nextPage = “pageStr.($this->page+1).”\”>下一页”; } //如果没到尾页则显示尾页连接 if($this->pagepageCount) { $lastPage = “pageStr.$this->pageCount.”\”>尾页”; } //所有页码列表 for($counter=1;$counterpageCount;$counter++) { if($this->page == $counter) { $currentPage = ““.$counter.”“; } else { $currentPage = ” “.”pageStr.$counter.”\”>”.$counter.””.” “; } $pageList .= $currentPage; } return $firstPage.” “.$previousPage.” “.$pageList.” “.$nextPage.” “.$lastPage.” “; }}?>

用法示例:

list;foreach($rows as $row){  echo $row['UserName']."<br>";}echo $page->getPageList(); //输出分页列表?>

希望本文所述对大家PHP程序设计有所帮助。


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

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

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

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