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授权问题总结
May 06 PHP
在smarty中调用php内置函数的方法
Feb 07 PHP
php中jpgraph类库的使用介绍
Aug 08 PHP
部署PHP项目应该注意的几点事项分享
Dec 20 PHP
php读取excel文件示例分享(更新修改excel)
Feb 27 PHP
php使用mkdir创建多级目录入门例子
May 10 PHP
php的慢速日志引起的Mysql错误问题分析
May 13 PHP
php查询mysql大量数据造成内存不足的解决方法
Mar 04 PHP
详解WordPress中给链接添加查询字符串的方法
Dec 18 PHP
JavaScript实现删除电脑的关机键
Jul 26 PHP
laravel通过创建自定义artisan make命令来新建类文件详解
Aug 17 PHP
支持汉转拼和拼音分词的PHP中文工具类ChineseUtil
Feb 23 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面向对象
2012/02/22 PHP
PHP中使用crypt()实现用户身份验证的代码
2012/09/05 PHP
PHP批量检测并去除文件BOM头代码实例
2014/05/08 PHP
封装ThinkPHP的一个文件上传方法实例
2014/10/31 PHP
THINKPHP内容分页代码分享
2015/01/14 PHP
PHP+MySQL修改记录的方法
2015/01/21 PHP
PHP实现转盘抽奖算法分享
2020/04/15 PHP
ThinkPHP实现的rsa非对称加密类示例
2018/05/29 PHP
JavaScript日历实现代码
2010/09/12 Javascript
javascript动态获取登录时间和在线时长
2016/02/25 Javascript
JS 对象(Object)和字符串(String)互转方法
2016/05/20 Javascript
jQuery 获取select选中值及清除选中状态
2016/12/13 Javascript
Node.js之readline模块的使用详解
2019/03/25 Javascript
帮你彻底搞懂JS中的prototype、__proto__与constructor(图解)
2019/08/23 Javascript
vue实现手机端省市区区域选择
2019/09/27 Javascript
vue 扩展现有组件的操作
2020/08/14 Javascript
Python学习资料
2007/02/08 Python
Python实现单词拼写检查
2015/04/25 Python
python计算牛顿迭代多项式实例分析
2015/05/07 Python
Python数据结构之顺序表的实现代码示例
2017/11/15 Python
python实现聚类算法原理
2018/02/12 Python
TensorFlow实现AutoEncoder自编码器
2018/03/09 Python
Pytorch基本变量类型FloatTensor与Variable用法
2020/01/08 Python
python用WxPython库实现无边框窗体和透明窗体实现方法详解
2020/02/21 Python
Python使用pyyaml模块处理yaml数据
2020/04/14 Python
详解CSS3 rem(设置字体大小) 教程
2017/11/21 HTML / CSS
英国最大的在线运动补充剂商店:Discount Supplements
2017/06/03 全球购物
澳大利亚100%丝绸多彩度假装商店:TheSwankStore
2019/09/04 全球购物
销售员求职个人的自我评价
2014/02/19 职场文书
测量工程专业求职信
2014/02/24 职场文书
股份合作协议书范本
2014/04/14 职场文书
党风廉政建设调研报告
2015/01/01 职场文书
幼儿园小班个人工作总结
2015/02/12 职场文书
聚众斗殴罪辩护词
2015/05/21 职场文书
python字符串拼接.join()和拆分.split()详解
2021/11/23 Python
Python正则表达式中flags参数的实例详解
2022/04/01 Python