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 中文处理技巧
Apr 25 PHP
利用php递归实现无限分类 格式化数组的详解
Jun 08 PHP
PHP大批量插入数据库的3种方法和速度对比
Jul 08 PHP
完美的2个php检测字符串是否是utf-8编码函数分享
Jul 28 PHP
php计算两个整数的最大公约数常用算法小结
Mar 05 PHP
php修改文件上传限制方法汇总
Apr 07 PHP
PHP IDE PHPStorm配置支持友好Laravel代码提示方法
May 12 PHP
php验证码实现代码(3种)
Sep 07 PHP
Yii2 rbac权限控制操作步骤实例教程
Apr 29 PHP
自定义min版smarty模板引擎MinSmarty.class.php文件及用法
May 20 PHP
php实现文章评论系统
Feb 18 PHP
php5对象复制、clone、浅复制与深复制实例详解
Aug 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
在线短消息收发的程序,不用数据库
2006/10/09 PHP
thinkPHP js文件中U方法不被解析问题的解决方法
2016/12/05 PHP
js 省地市级联选择
2010/02/07 Javascript
很棒的学习jQuery的12个网站推荐
2011/04/28 Javascript
js 分页全选或反选标识实现代码
2011/08/09 Javascript
js数组方法扩展实现数组统计函数
2014/04/09 Javascript
Javascript 实现图片无缝滚动
2014/12/19 Javascript
js过滤HTML标签完整实例
2015/11/26 Javascript
jQuery悬停文字提示框插件jquery.tooltipster.js用法示例【附demo源码下载】
2016/07/19 Javascript
jQuery Ajax实现跨域请求
2017/01/21 Javascript
javascript实现数据双向绑定的三种方式小结
2017/03/09 Javascript
JavaScript实现京东购物放大镜和选项卡效果的方法分析
2018/07/05 Javascript
详解ECMAScript typeof用法
2018/07/25 Javascript
在 Angular6 中使用 HTTP 请求服务端数据的步骤详解
2018/08/06 Javascript
vue 属性拦截实现双向绑定的实例代码
2018/10/24 Javascript
详解jQuery中的prop()使用方法
2020/01/05 jQuery
python抓取网页时字符集转换问题处理方案分享
2014/06/19 Python
使用Python标准库中的wave模块绘制乐谱的简单教程
2015/03/30 Python
Python基于正则表达式实现文件内容替换的方法
2017/08/30 Python
python素数筛选法浅析
2018/03/19 Python
Python多项式回归的实现方法
2019/03/11 Python
numpy linalg模块的具体使用方法
2019/05/26 Python
pyqt实现.ui文件批量转换为对应.py文件脚本
2019/06/19 Python
python实现操作文件(文件夹)
2019/10/31 Python
Python手动或自动协程操作方法解析
2020/06/22 Python
Python 如何查找特定类型文件
2020/08/17 Python
python实现控制台输出颜色
2021/03/02 Python
教师简历自我评价
2014/02/03 职场文书
平面设计求职信
2014/03/10 职场文书
表彰大会主持词
2014/03/26 职场文书
中学生民族团结演讲稿
2014/08/27 职场文书
教师党员个人剖析材料
2014/09/29 职场文书
2015年乡镇工作总结范文
2015/04/22 职场文书
2015年反腐倡廉工作总结
2015/05/14 职场文书
贴吧吧主申请感言
2015/08/03 职场文书
python通配符之glob模块的使用详解
2021/04/24 Python