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 相关文章推荐
真正面向对象编程:PHP5.01发布
Oct 09 PHP
发布一个迷你php+AJAX聊天程序[聊天室]提供下载
Jul 21 PHP
mysql下创建字段并设置主键的php代码
May 16 PHP
如何使用PHP计算上一个月的今天
May 23 PHP
php_screw安装使用教程(另一个PHP代码加密实现)
May 29 PHP
smarty简单入门实例
Nov 28 PHP
php判断文件上传类型及过滤不安全数据的方法
Dec 17 PHP
详解WordPress开发中get_header()获取头部函数的用法
Jan 08 PHP
php文件上传后端处理小技巧
May 22 PHP
php数据库的增删改查 php与javascript之间的交互
Aug 31 PHP
基于php数组中的索引数组和关联数组详解
Mar 12 PHP
实例分析10个PHP常见安全问题
Jul 09 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颜色转换函数hex-rgb(将十六进制格式转成十进制格式)
2013/09/23 PHP
PHP的mysqli_rollback()函数讲解
2019/01/23 PHP
PHP实现文件上传后台处理脚本
2020/03/04 PHP
jQuery中绑定事件的命名空间详解
2011/04/05 Javascript
基于jquery的blockui插件显示弹出层
2011/04/14 Javascript
nodejs命令行参数处理模块commander使用实例
2014/09/17 NodeJs
js实现带缓冲效果的仿QQ面板折叠菜单代码
2015/09/06 Javascript
JS简单编号生成器实现方法(附demo源码下载)
2016/04/05 Javascript
NodeJS远程代码执行
2016/08/28 NodeJs
Bootstrap CSS布局之列表
2016/12/15 Javascript
js获取当前周、上一周、下一周日期
2017/03/19 Javascript
微信小程序websocket实现聊天功能
2020/03/30 Javascript
jQuery轮播图实例详解
2018/08/15 jQuery
JS中实现浅拷贝和深拷贝的代码详解
2019/06/05 Javascript
深入理解javascript prototype的相关知识
2019/09/19 Javascript
Python import用法以及与from...import的区别
2015/05/28 Python
Python实现读取及写入csv文件的方法示例
2018/01/12 Python
python and or用法详解
2019/06/26 Python
Python异步编程之协程任务的调度操作实例分析
2020/02/01 Python
在python里创建一个任务(Task)实例
2020/04/25 Python
Python实现扫码工具的示例代码
2020/10/09 Python
魔幻般冒泡背景的CSS3按钮动画
2016/02/27 HTML / CSS
CSS3使用transition属性实现过渡效果
2018/04/18 HTML / CSS
Html5如何唤起百度地图App的方法
2019/01/27 HTML / CSS
First Aid Beauty官网:FAB急救面霜
2018/05/24 全球购物
Java中采用什么结构来捕获、处理异常?各子句的顺序、功能如何
2013/10/07 面试题
市场开发与营销专业求职信范文
2014/05/01 职场文书
竞聘上岗演讲稿
2014/05/16 职场文书
求职信内容怎么写
2014/05/26 职场文书
保密工作承诺书
2014/08/29 职场文书
关于迟到的检讨书
2015/05/06 职场文书
2016年心理学教育培训学习心得体会
2016/01/12 职场文书
干部理论学习心得体会
2016/01/21 职场文书
职场新人刚入职工作总结该怎么写?
2019/05/15 职场文书
导游词之新疆-喀纳斯
2019/10/10 职场文书
自己搭建resnet18网络并加载torchvision自带权重的操作
2021/05/13 Python