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 相关文章推荐
Apache中php.ini的设置方法
Feb 28 PHP
php正则取img标记中任意属性(正则替换去掉或改变图片img标记中的任意属性)
Aug 13 PHP
php function用法如何递归及return和echo区别
Mar 07 PHP
PHP反射使用实例和PHP反射API的中文说明
Jul 02 PHP
PHP二维数组排序简单实现方法
Feb 14 PHP
PHP闭包函数传参及使用外部变量的方法
Mar 15 PHP
php基于dom实现读取图书xml格式数据的方法
Feb 03 PHP
Yii框架参数化查询中IN查询只能查询一个的解决方法
May 20 PHP
Thinkphp5 微信公众号token验证不成功的原因及解决方法
Nov 12 PHP
PHP多个图片压缩成ZIP的方法
Aug 18 PHP
php实现登录页面的简单实例
Sep 29 PHP
php 中self,this的区别和操作方法实例分析
Nov 04 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替换字符串中间字符为省略号的方法
2015/05/04 PHP
PHP fclose函数用法总结
2019/02/15 PHP
Ext.FormPanel 提交和 Ext.Ajax.request 异步提交函数的区别
2009/11/12 Javascript
js客户端快捷键管理类的较完整实现和应用
2010/06/08 Javascript
jquery实现marquee效果(文字或者图片的水平垂直滚动)
2013/01/07 Javascript
JS继承--原型链继承和类式继承
2013/04/08 Javascript
javascript中的throttle和debounce浅析
2014/06/06 Javascript
jQuery实现预加载图片的方法
2015/03/17 Javascript
JavaScript中setFullYear()方法的使用详解
2015/06/11 Javascript
JS实现的不规则TAB选项卡效果代码
2015/09/18 Javascript
Webwork 实现文件上传下载代码详解
2016/02/02 Javascript
Bootstrap 手风琴菜单的实现代码
2017/01/20 Javascript
JS中解决谷歌浏览器记住密码输入框颜色改变功能
2017/02/13 Javascript
Vue.JS项目中5个经典Vuex插件
2017/11/28 Javascript
JS面向对象的程序设计相关知识小结
2018/05/26 Javascript
vue项目添加多页面配置的步骤详解
2019/05/22 Javascript
微信小程序实现页面分享onShareAppMessage
2019/08/12 Javascript
基于vue实现图片验证码倒计时60s功能
2019/12/10 Javascript
Python接收Gmail新邮件并发送到gtalk的方法
2015/03/10 Python
说一说Python logging
2016/04/15 Python
python出现&quot;IndentationError: unexpected indent&quot;错误解决办法
2017/10/15 Python
pytorch 转换矩阵的维数位置方法
2018/12/08 Python
Python Django基础二之URL路由系统
2019/07/18 Python
Python matplotlib实时画图案例
2020/04/23 Python
Pycharm导入anaconda环境的教程图解
2020/07/31 Python
G-Form护具官方网站:美国运动保护装备
2019/09/04 全球购物
英国比较机场停车场网站:Airport Parking Essentials
2019/12/01 全球购物
企业管理部经理岗位职责
2013/12/24 职场文书
上班迟到检讨书
2014/01/10 职场文书
人事档案接收函
2014/01/12 职场文书
人资专员岗位职责
2014/04/04 职场文书
四风查摆剖析材料
2014/10/10 职场文书
2015年学生会主席工作总结
2015/04/21 职场文书
优秀范文:《但愿人长久》教学反思3篇
2019/10/24 职场文书
科普 | 业余无线电知识-波段篇
2022/02/18 无线电
MySQL数据库之内置函数和自定义函数 function
2022/06/16 MySQL