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
PHP4和PHP5共存于一系统
Nov 17 PHP
PHP正确配置mysql(apache环境)
Aug 28 PHP
php简单定时执行任务的实现方法
Feb 23 PHP
php metaphone()函数及php localeconv() 函数实例解析
May 15 PHP
PHP生成及获取JSON文件的方法
Aug 23 PHP
利用Laravel事件系统如何实现登录日志的记录详解
May 20 PHP
php判断文件上传图片格式的实例详解
Sep 30 PHP
php单元测试phpunit入门实例教程
Nov 17 PHP
PHP结合Vue实现滚动底部加载效果
Dec 17 PHP
浅谈PHP中pack、unpack的详细用法
Mar 12 PHP
thinkPHP框架实现多表查询的方法
Jun 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
PHP入门
2006/10/09 PHP
轻松实现php文件上传功能
2017/02/17 PHP
浅谈PHP5.6 与 PHP7.0 区别
2019/10/09 PHP
jQuery+css+html实现页面遮罩弹出框
2013/03/21 Javascript
js控制frameSet示例
2013/09/10 Javascript
Jquery实现侧边栏跟随滚动条固定(兼容IE6)
2014/04/02 Javascript
基于jquery实现的文字向上跑动类似跑马灯的效果
2014/06/17 Javascript
Javascript中的getUTCDay()方法使用详解
2015/06/10 Javascript
angularjs实现分页和搜索功能
2018/01/03 Javascript
对vue 键盘回车事件的实例讲解
2018/08/25 Javascript
Vue.directive使用注意(小结)
2018/08/31 Javascript
微信小程序利用swiper+css实现购物车商品删除功能
2019/03/06 Javascript
在Vue中用canvas实现二维码和图片合成海报的方法
2019/06/10 Javascript
VueCli生产环境打包部署跨域失败的解决
2020/11/13 Javascript
[01:01:18]DOTA2上海特级锦标赛主赛事日 - 2 败者组第二轮#2COL VS LGD
2016/03/03 DOTA
[44:41]Fnatic vs Liquid 2018国际邀请赛小组赛BO2 第二场 8.16
2018/08/17 DOTA
Python中无限元素列表的实现方法
2014/08/18 Python
python字典基本操作实例分析
2015/07/11 Python
python轻松查到删除自己的微信好友
2016/01/10 Python
python僵尸进程产生的原因
2017/07/21 Python
基于Django用户认证系统详解
2018/02/21 Python
基于numpy中数组元素的切片复制方法
2018/11/15 Python
对python3新增的byte类型详解
2018/12/04 Python
提升Python效率之使用循环机制代替递归函数
2019/07/23 Python
Python实现Wordcloud生成词云图的示例
2020/03/30 Python
Jupyter Notebook 文件默认目录的查看以及更改步骤
2020/04/14 Python
CSS3选择器新增问题的实现
2021/01/21 HTML / CSS
HomeAway的巴西品牌:Alugue Temporada
2018/04/10 全球购物
巴西最大的珠宝连锁店:Vivara
2019/04/18 全球购物
法拉利英国精品店:Ferraris Boutique UK
2019/07/20 全球购物
北京华建集团SQL面试题
2014/06/03 面试题
我心目中的好老师活动方案
2014/08/19 职场文书
婚礼新人答谢词
2015/01/04 职场文书
2015年计算机教师工作总结
2015/07/22 职场文书
导游词之北京明十三陵
2019/10/28 职场文书
MySQL数据库如何给表设置约束详解
2022/03/13 MySQL