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 相关文章推荐
MYSQL环境变量设置方法
Jan 15 PHP
php读取msn上的用户信息类
Dec 05 PHP
PHP自动选择 连接本地还是远程数据库
Dec 02 PHP
PHP中PDO的错误处理
Sep 04 PHP
php 判断字符串中是否包含html标签
Feb 17 PHP
PHP取余函数介绍MOD(x,y)与x%y
May 15 PHP
ThinkPHP CURD方法之page方法详解
Jun 18 PHP
PHP 常用的header头部定义汇总
Jun 19 PHP
PHP中常见的缓存技术实例分析
Sep 23 PHP
php使用PDO事务配合表格读取大量数据插入操作实现方法
Feb 16 PHP
PHP实现的下载远程文件类定义与用法示例
Jul 05 PHP
PHP的PDO预定义常量讲解
Jan 24 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过滤危险html代码的函数
2008/07/22 PHP
PHP数组对比函数,存在交集则返回真,否则返回假
2011/02/03 PHP
php实现的mongoDB单例模式操作类
2018/01/20 PHP
Aster vs Newbee BO3 第三场2.18
2021/03/10 DOTA
js wmp操作代码小结(音乐连播功能)
2008/11/08 Javascript
Extjs学习过程中新手容易碰到的低级错误积累
2010/02/11 Javascript
js null,undefined,字符串小结
2010/08/21 Javascript
js触发onchange事件的方法说明
2014/03/08 Javascript
Nodejs异步回调的优雅处理方法
2014/09/25 NodeJs
Node.js中使用mongoskin操作mongoDB实例
2014/09/28 Javascript
Bootstrap学习笔记之环境配置(1)
2016/12/07 Javascript
AngularJS动态添加数据并删除的实例
2018/02/27 Javascript
vue的常用组件操作方法应用分析
2018/04/13 Javascript
JS使用百度地图API自动获取地址和经纬度操作示例
2019/04/16 Javascript
vue中get请求如何传递数组参数的方法示例
2019/11/08 Javascript
js实现无缝轮播图效果
2020/03/09 Javascript
微信小程序wx.getUserInfo授权获取用户信息(头像、昵称)的实现
2020/08/19 Javascript
[01:48]完美圣典齐天大圣至宝宣传片
2016/12/17 DOTA
讲解Python中fileno()方法的使用
2015/05/24 Python
python输入错误密码用户锁定实现方法
2017/11/27 Python
python机器学习实战之K均值聚类
2017/12/20 Python
python去除删除数据中\u0000\u0001等unicode字符串的代码
2020/03/06 Python
Django查询优化及ajax编码格式原理解析
2020/03/25 Python
五分钟带你搞懂python 迭代器与生成器
2020/08/30 Python
Python实现敏感词过滤的4种方法
2020/09/12 Python
基于 HTML5 Canvas实现 的交互式地铁线路图
2018/03/05 HTML / CSS
哥伦比亚最大的网上商店:Linio哥伦比亚
2016/09/25 全球购物
size?爱尔兰官方网站:英国伦敦的球鞋精品店
2019/03/31 全球购物
2019年Java 最常见的 面试题
2016/10/19 面试题
JSF界面控制层技术
2013/06/17 面试题
股权投资意向书
2014/04/01 职场文书
党的群众路线领导班子整改方案
2014/09/27 职场文书
2014年纠风工作总结
2014/12/08 职场文书
就业意向书范本
2015/05/11 职场文书
初中政治教学反思
2016/02/23 职场文书
浅析Django接口版本控制
2021/06/26 Python