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 相关文章推荐
一个多文件上传的例子(原创)
Oct 09 PHP
实用函数8
Nov 08 PHP
PHP Memcached应用实现代码
Feb 08 PHP
判断Keep-Alive模式的HTTP请求的结束的实现代码
Aug 06 PHP
php 数组动态添加实现代码(最土团购系统的价格排序)
Dec 30 PHP
深入php中var_dump方法的使用详解
Jun 24 PHP
ThinkPHP模板IF标签用法详解
Jul 01 PHP
PHP简单获取视频预览图的方法
Mar 12 PHP
php实现购物车功能(下)
Jan 05 PHP
Thinkphp连表查询及数据导出方法示例
Oct 15 PHP
yii2中LinkPager增加总页数和总记录数的实例
Aug 28 PHP
PHP实现正则匹配所有括号中的内容
Jun 22 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
什么是调频(FM)、调幅(AM)、短波(SW)、长波(LW)
2021/03/01 无线电
广播爱好者需要了解的天线知识
2021/03/01 无线电
php URL编码解码函数代码
2009/03/10 PHP
PHP向socket服务器收发数据的方法
2015/01/24 PHP
深入浅出php socket编程
2015/05/13 PHP
ThinkPHP5 的简单搭建和使用详解
2018/11/15 PHP
浅谈PHP5.6 与 PHP7.0 区别
2019/10/09 PHP
基于laravel where的高级使用方法
2019/10/10 PHP
关于Anemometer图形化显示MySQL慢日志的工具搭建及使用的详细介绍
2020/07/13 PHP
ExtJs默认的字体大小改变的几种方法(自己整理)
2013/04/18 Javascript
浅谈JavaScript字符串与数组
2015/06/03 Javascript
学习AngularJs:Directive指令用法(完整版)
2016/04/26 Javascript
BootStrap使用file-input插件上传图片的方法
2016/09/05 Javascript
详解使用vue实现tab 切换操作
2017/07/03 Javascript
vue修改vue项目运行端口号的方法
2017/08/04 Javascript
JS实现数组简单去重及数组根据对象中的元素去重操作示例
2018/01/05 Javascript
基于elementUI实现图片预览组件的示例代码
2019/03/31 Javascript
layui的表单提交以及验证和修改弹框的实例
2019/09/09 Javascript
[33:09]完美世界DOTA2联赛循环赛 Forest vs DM BO2第二场 10.29
2020/10/29 DOTA
[01:07:15]DOTA2-DPC中国联赛 正赛 DLG vs XG BO3 第二场 1月25日
2021/03/11 DOTA
为Python的web框架编写前端模版的教程
2015/04/30 Python
Python中的引用知识点总结
2019/05/20 Python
Ubuntu下Python+Flask分分钟搭建自己的服务器教程
2019/11/19 Python
python实现凯撒密码、凯撒加解密算法
2020/06/11 Python
家长评语和期望
2014/02/10 职场文书
办公室岗位职责
2014/02/12 职场文书
工艺工程师岗位职责
2014/03/04 职场文书
2014社区三八妇女节活动方案
2014/03/30 职场文书
项目合作意向书范本
2014/04/01 职场文书
请假条怎么写
2014/04/10 职场文书
电钳工人个人求职信
2014/05/10 职场文书
英语四级考试作弊检讨书
2014/09/29 职场文书
2014年医院个人工作总结
2014/12/09 职场文书
九年级化学教学反思
2016/02/22 职场文书
七年级之家长会发言稿范文
2019/09/04 职场文书
Python爬虫入门案例之爬取去哪儿旅游景点攻略以及可视化分析
2021/10/16 Python