PHP 翻页 实例代码


Posted in PHP onAugust 07, 2009
<?php 
class Page 
{ 
private $pageSize;//每一页多少行 
private $absolutePage;//当前页 
private $pageCount;//总页码数 
private $totalNum;//总行数 
private $prePage;//上一页 
private $nextPage; //下一页 
private $sqlStr; 
private $baseUrl; //不带GET参数的URL get传输网址 
function __construct($pagesize,$absolutepage,$baseurl,$sqlStr) 
{ 
$this->absolutePage = $absolutepage; 
$this->pageSize = $pagesize; 
$this->baseUrl = $baseurl; 
$this->sqlStr = $sqlStr; 
} 
//显示主体内容 
public function listinfo() 
{ 
$result = DBHelper::ExecuteCommand($this->sqlStr); 
// $result = mysql_query($this->sqlStr,$conn); 
$this->totalNum = mysql_num_rows($result);//取处结果集的所有行数 
$this->pageCount = (int)(($this->totalNum -1)/$this->pageSize)+1; //计算出一共有多少页 
if($this->absolutePage == "" || !is_numeric($this->absolutePage))//如果是页面第一次加载那么absolutePage的值一定是空的这时我们认为用户是第一次访问就给他看第一页(当然你如果想给他看第5页也可以) 
{ 
$this->absolutePage = 1;//给他看第一页 
} 
if($this->absolutePage > $this->pageCount)//如果请求的下一页的页码超过了总页数我们就显示最后一页 
{ 
$this->absolutePage = $this->pageCount;//显示最后一页 
} 
if ($this->totalNum > 1 && $this->absolutePage > 1) //如果满足显示上一页的条件我们就让上一页的页码变量的值等于当前页(absolutePage)减一 
{ 
$this->prePage = $this->absolutePage -1; 
} 
if($this->absolutePage >= 1 && $this->absolutePage < $this->pageCount)//在当前页至少是1并且不大于总页数时给下一页变量赋值为当前页加1 
{ 
$this->nextPage = $this->absolutePage + 1; 
} 
if (mysql_data_seek($result,($this->absolutePage -1) * $this->pageSize))//决定从结果集的哪个位置开始检索数据//决定从结果集的哪个位置开始检索数据 mysql_data_seek指向下一行 
{ 
include("goodsTemplate.php"); 
for ($i = 0; $i < $this->pageSize; $i++) 
{ 
if(($info = mysql_fetch_array($result))) 
{ 
$name = $info['GoodsName']; 
$tupian = $info['GoodsPhopo']; 
$id = $info['GoodsId']; 
$price = $info['GoodsPrice']; 
$url = 'detail.php?id='.$id; 
$items = str_replace(array('{name}','{tupian}','{url}','{price}','{id}'),array($name,$tupian,$url,$price,$id),$goodsContent);//str_replace替换两个数组 第二个替换第一个数组,$goodsContent参数是要替换的对象 
$cishu++; 
echo $items; 
if ($cishu % 4 == 0) 
{ 
?> 
</tr><tr> 
<?php 
} 
} 
} 
} 
} 
//分页动作函数 
public function toPage() 
{ 
include('toPageTemplate.php'); 
if($this->totalNum > 1 && $this->absolutePage > 1) 
{ 
$this->prePage = $this->absolutePage - 1; 
} 
if($this->absolutePage >= 1 && $this->absolutePage < $this->pageCount) 
{ 
$this->nextPage = $this->absolutePage + 1; 
} 
$preUrl = $this->baseUrl."?absolutePage=$this->prePage"; 
$nextUrl = $this->baseUrl."?absolutePage=$this->nextPage"; 
$items = str_replace(array('{totalNum}','{absolutePage}','{pageCount}','{preUrl}','{nextUrl}'),array($this->totalNum,$this->absolutePage,$this->pageCount,$preUrl,$nextUrl),$toPage); 
echo $items; 
} 
} 
?>
PHP 相关文章推荐
PHP 字符串操作入门教程
Dec 06 PHP
PHP程序员最常犯的11个MySQL错误小结
Nov 20 PHP
从php核心代码分析require和include的区别
Jan 02 PHP
PHP的preg_match匹配字符串长度问题解决方法
May 03 PHP
php图像处理类实例
Jul 28 PHP
php生成与读取excel文件
Oct 14 PHP
yii2中LinkPager增加总页数和总记录数的实例
Aug 28 PHP
PHP的mysqli_sqlstate()函数讲解
Jan 23 PHP
PHP PDOStatement::rowCount讲解
Feb 01 PHP
PHP7.3.10编译安装教程
Oct 08 PHP
PHP安全之register_globals的on和off的区别
Jul 23 PHP
php修改word的实例方法
Nov 17 PHP
php Sql Server连接失败问题及解决办法
Aug 07 #PHP
php_xmlhttp 乱码问题解决方法
Aug 07 #PHP
PHP 生成的XML以FLASH获取为乱码终极解决
Aug 07 #PHP
php 全局变量范围分析
Aug 07 #PHP
PHP 多维数组排序实现代码
Aug 05 #PHP
PHP 简单数组排序实现代码
Aug 05 #PHP
用php获取本周,上周,本月,上月,本季度日期的代码
Aug 05 #PHP
You might like
PHP实现把数字ID转字母ID
2013/08/12 PHP
php画图实例
2014/11/05 PHP
Zend Framework教程之请求对象的封装Zend_Controller_Request实例详解
2016/03/07 PHP
php设计模式之观察者模式实例详解【星际争霸游戏案例】
2020/03/30 PHP
Prototype使用指南之ajax
2007/01/10 Javascript
javascript 另一种图片滚动切换效果思路
2012/04/20 Javascript
用原生JS获取CLASS对象(很简单实用)
2014/10/15 Javascript
使用nodejs开发cli项目实例
2015/06/03 NodeJs
对于jQuery性能的一些优化建议
2015/08/13 Javascript
jquery利用拖拽方式在图片上添加热链接
2015/11/24 Javascript
jQuery焦点图插件SaySlide
2015/12/21 Javascript
学习Node.js模块机制
2016/10/17 Javascript
Nodejs进阶:核心模块net入门学习与实例讲解
2016/11/21 NodeJs
Koa 中的错误处理解析
2019/04/09 Javascript
解决node终端下运行js文件不支持ES6语法
2020/04/04 Javascript
微信小程序实现滚动Tab选项卡
2020/11/16 Javascript
[49:08]OpTic vs Serenity 2018国际邀请赛小组赛BO2 第一场 8.18
2018/08/19 DOTA
简单介绍Python的轻便web框架Bottle
2015/04/08 Python
Windows下Python2与Python3两个版本共存的方法详解
2017/02/12 Python
使用python打印十行杨辉三角过程详解
2019/07/10 Python
python常用排序算法的实现代码
2019/11/08 Python
Python中的xlrd模块使用原理解析
2020/05/21 Python
Pytorch框架实现mnist手写库识别(与tensorflow对比)
2020/07/20 Python
任意一块网页内容实现“活”的背景(目前火狐浏览器专有)
2014/05/07 HTML / CSS
HTML5 移动页面自适应手机屏幕四类方法总结
2017/08/17 HTML / CSS
Otticanet澳大利亚:最顶尖的世界名牌眼镜, 能得到打折季的价格
2018/08/23 全球购物
EMU Australia澳大利亚官网:澳大利亚本土雪地靴品牌
2019/07/24 全球购物
自我评价优秀范文分享
2013/11/30 职场文书
上级检查欢迎词
2014/01/18 职场文书
汽车检测与维修专业求职信
2014/07/04 职场文书
网络文明传播志愿者活动方案
2014/08/20 职场文书
物价局领导班子四风问题整改措施
2014/10/26 职场文书
房屋财产继承协议书范本
2014/11/03 职场文书
舞蹈社团活动总结
2015/05/07 职场文书
Nginx如何配置Http、Https、WS、WSS的方法步骤
2021/05/11 Servers
MySQL利用UNION连接2个查询排序失效详解
2021/11/20 MySQL