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 相关文章推荐
phpMyAdmin 安装配置方法和问题解决
Jun 08 PHP
php date()日期时间函数详解
May 16 PHP
php下mysql数据库操作类(改自discuz)
Jul 03 PHP
php遍历数组的方法分享
Mar 22 PHP
使用Curl进行抓取远程内容时url中文编码问题示例探讨
Oct 29 PHP
PHP程序漏洞产生的原因分析与防范方法说明
Mar 06 PHP
最常用的8款PHP调试工具
Jul 06 PHP
php延迟静态绑定实例分析
Feb 08 PHP
php去除头尾空格的2种方法
Mar 16 PHP
PHP页面转UTF-8中文编码乱码的解决办法
Oct 20 PHP
PHP闭包函数详解
Feb 13 PHP
PHP+Jquery与ajax相结合实现下拉淡出瀑布流效果【无需插件】
May 06 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
请离开include_once和require_once
2013/07/18 PHP
PHP实现无限极分类图文教程
2014/11/25 PHP
PHP中让json_encode不自动转义斜杠“/”的方法
2017/02/28 PHP
php实现微信模拟登陆、获取用户列表及群发消息功能示例
2017/06/28 PHP
Prototype Object对象 学习
2009/07/12 Javascript
Prototype 工具函数 学习
2009/07/23 Javascript
html数组字符串拼接的最快方法
2009/09/16 Javascript
javascript 事件查询综合 推荐收藏
2010/03/10 Javascript
JavaScript 匿名函数(anonymous function)与闭包(closure)
2011/10/04 Javascript
浅谈JavaScript数据类型及转换
2015/02/28 Javascript
jQuery选择器源码解读(八):addCombinator函数
2015/03/31 Javascript
Bootstrap与KnockoutJs相结合实现分页效果实例详解
2016/05/03 Javascript
AngularJs Injecting Services Into Controllers详解
2016/09/02 Javascript
vue2 如何实现div contenteditable=“true”(类似于v-model)的效果
2017/02/08 Javascript
支持移动端原生js轮播图
2017/02/16 Javascript
JS实现仿饿了么在浏览器标签页失去焦点时网页Title改变
2017/06/01 Javascript
在Vue.js中使用Mixins的方法
2017/09/12 Javascript
vue2.0.js的多级联动选择器实现方法
2018/02/09 Javascript
[01:01:35]Optic vs paiN 2018国际邀请赛小组赛BO2 第二场 8.19
2018/08/21 DOTA
Python中的二叉树查找算法模块使用指南
2014/07/04 Python
利用python发送和接收邮件
2016/09/27 Python
pyspark 读取csv文件创建DataFrame的两种方法
2018/06/07 Python
Python Pillow Image Invert
2019/01/22 Python
Python 等分切分数据及规则命名的实例代码
2019/08/16 Python
python如何代码集体右移
2020/07/20 Python
is_file和file_exists效率比较
2021/03/14 PHP
英国领先的在线药房:Pharmacy First
2017/09/10 全球购物
Kaufmann Mercantile官网:家居装饰、配件、户外及更多
2018/09/28 全球购物
联想英国官网:Lenovo英国
2019/07/17 全球购物
自我评价的正确写法
2013/09/19 职场文书
汽车驾驶求职信
2013/10/25 职场文书
生日主持词
2014/03/20 职场文书
教师节宣传方案
2014/05/23 职场文书
扶贫办主任查摆“四风”问题个人对照检查材料思想汇报
2014/10/02 职场文书
高中数学课堂教学反思
2016/02/18 职场文书
Python爬虫之爬取二手房信息
2021/04/27 Python