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 Class 文章
Apr 04 PHP
PHP中通过HTTP_USER_AGENT判断是否为手机移动终端的函数代码
Feb 14 PHP
linux环境apache多端口配置虚拟主机的方法深入介绍
Jun 09 PHP
探讨:php中在foreach中使用foreach ($arr as &amp;$value) 这种类型的解释
Jun 24 PHP
php读取本地文件常用函数(fopen与file_get_contents)
Sep 09 PHP
php中的PHP_EOL换行符详细解析
Oct 26 PHP
thinkphp autoload 命名空间自定义 namespace
Jul 17 PHP
ThinkPHP开发框架函数详解:C方法
Aug 14 PHP
twig里使用js变量的方法
Feb 05 PHP
PHP实现的DES加密解密封装类完整实例
Apr 29 PHP
PHP实现打包zip并下载功能
Jun 12 PHP
设定php简写功能的方法
Nov 28 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中判断一个请求是ajax请求还是普通请求的方法
2011/06/28 PHP
解析PHP中的unset究竟会不会释放内存
2013/07/18 PHP
php中实现xml与mysql数据相互转换的方法
2014/12/25 PHP
thinkPHP简单遍历数组方法分析
2016/05/16 PHP
PHP中trait使用方法详细介绍
2017/05/21 PHP
新浪的图片新闻效果
2007/01/13 Javascript
实现变速回到顶部的JavaScript代码
2011/05/09 Javascript
jQuery判断复选框是否勾选的原理及示例
2014/05/21 Javascript
鼠标悬浮显示二级菜单效果的jquery实现
2014/10/29 Javascript
jQuery取消ajax请求的方法
2015/06/09 Javascript
纯javascript实现的小游戏《Flappy Pig》实例
2015/07/27 Javascript
JS获取月份最后天数、最大天数与某日周数的方法
2015/12/08 Javascript
利用Node.js对文件进行重命名
2017/03/12 Javascript
vue2.0s中eventBus实现兄弟组件通信的示例代码
2017/10/25 Javascript
详解React开发必不可少的eslint配置
2018/02/05 Javascript
vue2.0中set添加属性后视图不能更新的解决办法
2019/02/22 Javascript
jquery ui 实现 tab标签功能示例【测试可用】
2019/07/25 jQuery
javascript实现下拉菜单效果
2021/02/09 Javascript
[02:48]DOTA2英雄基础教程 拉席克
2013/12/12 DOTA
python获取当前计算机cpu数量的方法
2015/04/18 Python
详解python中的线程与线程池
2019/05/10 Python
scrapy-redis源码分析之发送POST请求详解
2019/05/15 Python
Python解析多帧dicom数据详解
2020/01/13 Python
Python中使用socks5设置全局代理的方法示例
2020/04/15 Python
CSS3的calc()做响应模式布局的实现方法
2017/09/06 HTML / CSS
荷兰最大的儿童服装店:The Kids Republic
2019/04/13 全球购物
无刑事犯罪记录证明
2014/09/18 职场文书
群众路线剖析材料范文
2014/10/09 职场文书
村党的群众路线教育实践活动工作总结
2014/10/25 职场文书
党员教师群众路线个人整改措施
2014/10/28 职场文书
男方婚礼答谢词
2015/01/20 职场文书
土木工程生产实习心得体会
2016/01/22 职场文书
Java集成swagger文档组件
2021/06/28 Java/Android
mysql5.7的安装及Navicate长久免费使用的实现过程
2021/11/17 MySQL
SpringDataJPA在Entity中常用的注解介绍
2021/12/06 Java/Android
Zabbix6通过ODBC方式监控Oracle 19C的详细过程
2022/09/23 Servers