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 管理系统程序中的后门
Aug 05 PHP
PHP游戏编程25个脚本代码
Feb 08 PHP
PHP最常用的2种设计模式工厂模式和单例模式介绍
Aug 14 PHP
php对mongodb的扩展(初出茅庐)
Nov 11 PHP
深入密码加salt原理的分析
Jun 06 PHP
解析PHP中常见的mongodb查询操作
Jun 20 PHP
PHP 循环删除无限分类子节点的实现代码
Jun 21 PHP
php while循环得到循环次数
Oct 26 PHP
thinkphp常见路径用法分析
Dec 02 PHP
Yii实现多按钮保存与提交的方法
Dec 03 PHP
PHP编程实现阳历转换为阴历的方法实例
Aug 08 PHP
is_file和file_exists效率比较
Mar 14 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面向对象全攻略 (十七) 自动加载类
2009/09/30 PHP
php数组函数序列 之shuffle()和array_rand() 随机函数使用介绍
2011/10/29 PHP
PHP中静态变量的使用方法实例分析
2016/12/01 PHP
禁止F5等快捷键的JS代码
2007/03/06 Javascript
XML的代替者----JSON
2007/07/21 Javascript
jquery post方式传递多个参数值后台以数组的方式进行接收
2013/01/11 Javascript
js 日期比较相关天数代码
2014/04/02 Javascript
javascript引用类型指针的工作方式
2015/04/13 Javascript
JavaScript中继承用法实例分析
2015/05/16 Javascript
详解AngularJS实现表单验证
2015/12/10 Javascript
node.js入门实例helloworld详解
2015/12/23 Javascript
javascript正则表达式中分组详解
2016/07/17 Javascript
BootStrap 模态框实现刷新网页并关闭功能
2017/01/04 Javascript
详解Vue爬坑之vuex初识
2017/06/14 Javascript
JS操作时间 - UNIX时间戳的简单介绍(必看篇)
2017/08/16 Javascript
Vue.js通用应用框架-Nuxt.js的上手教程
2017/12/25 Javascript
JavaScript中关于base64的一些事
2019/05/06 Javascript
微信小程序云开发 搭建一个管理小程序
2019/05/17 Javascript
Vue.js组件通信之自定义事件详解
2019/10/19 Javascript
vue实现弹幕功能
2019/10/25 Javascript
vue+webpack dev本地调试全局样式引用失效的解决方案
2019/11/12 Javascript
[35:29]Secret vs VG 2018国际邀请赛淘汰赛BO3 第三场 8.23
2018/08/24 DOTA
Python函数返回值实例分析
2015/06/08 Python
python 获取网页编码方式实现代码
2017/03/11 Python
python实现数据导出到excel的示例--普通格式
2018/05/03 Python
对python3中, print横向输出的方法详解
2019/01/28 Python
Python+Tensorflow+CNN实现车牌识别的示例代码
2019/10/11 Python
Python 复平面绘图实例
2019/11/21 Python
python访问hdfs的操作
2020/06/06 Python
基于python计算滚动方差(标准差)talib和pd.rolling函数差异详解
2020/06/08 Python
ZWILLING双立人英国网上商店:德国刀具锅具厨具品牌
2018/05/15 全球购物
护理毕业生自荐信范文
2013/12/22 职场文书
2014年党员加强作风建设思想汇报
2014/09/15 职场文书
2015年个人工作总结报告
2015/04/25 职场文书
详解使用 CSS prefers-* 规范提升网站的可访问性与健壮性
2021/05/25 HTML / CSS
Golang并发工具Singleflight
2022/05/06 Golang