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
Jan 15 PHP
php MySQL与分页效率
Jun 04 PHP
php 正则 过滤html 的超链接
Jun 02 PHP
div li的多行多列 无刷新分页示例代码
Oct 16 PHP
sae使用smarty模板的方法
Dec 17 PHP
ThinkPHP3.1数据CURD操作快速入门
Jun 19 PHP
使用PHPExcel导出Excel表
Sep 08 PHP
ThinkPHP框架整合微信支付之Native 扫码支付模式一图文详解
Apr 09 PHP
CI框架教程之优化验证码机制详解【验证码辅助函数】
Apr 16 PHP
PHP实现发送微博消息功能完整示例
Dec 04 PHP
yii2.0框架数据库操作简单示例【添加,修改,删除,查询,打印等】
Apr 13 PHP
PHP数组基本用法与知识点总结
Jun 02 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实现把数字ID转字母ID
2013/08/12 PHP
简单谈谈PHP vs Node.js
2015/07/17 PHP
WordPress的主题编写中获取头部模板和底部模板
2015/12/28 PHP
JQuery通过Ajax提交表单并返回结果
2011/07/31 Javascript
多个表单中如何获得这个文件上传的网址实现js代码
2013/03/25 Javascript
利用javascript实现全部删或清空所选的操作
2014/05/27 Javascript
node.js中的events.emitter.listeners方法使用说明
2014/12/10 Javascript
使用OpenLayers3 添加地图鼠标右键菜单
2015/12/29 Javascript
Jqprint实现页面打印
2017/01/06 Javascript
JS实现JSON.stringify的实例代码讲解
2017/02/07 Javascript
Bootstrap模态框(Modal)实现过渡效果
2017/03/17 Javascript
AngularJS实现的根据数量与单价计算总价功能示例
2017/12/26 Javascript
详解vue更改头像功能实现
2019/04/28 Javascript
element-ui 中使用upload多文件上传只请求一次接口
2019/07/19 Javascript
element form 校验数组每一项实例代码
2019/10/10 Javascript
JS回调函数深入理解
2019/10/16 Javascript
JS document form表单元素操作完整示例
2020/01/13 Javascript
[43:51]2018DOTA2亚洲邀请赛3月30日 小组赛B组 EG VS Secret
2018/03/31 DOTA
[34:10]Secret vs VG 2019国际邀请赛淘汰赛 败者组 BO3 第二场 8.24
2019/09/10 DOTA
python list语法学习(带例子)
2013/11/01 Python
让 python 命令行也可以自动补全
2014/11/30 Python
对numpy中向量式三目运算符详解
2018/10/31 Python
解决Python找不到ssl模块问题 No module named _ssl的方法
2019/04/29 Python
python中通过selenium简单操作及元素定位知识点总结
2019/09/10 Python
Python安装tar.gz格式文件方法详解
2020/01/19 Python
使用Python打造一款间谍程序的流程分析
2020/02/21 Python
keras导入weights方式
2020/06/12 Python
matplotlib 画动态图以及plt.ion()和plt.ioff()的使用详解
2021/01/05 Python
移动端html5判断是否滚动到底部并且下拉加载
2019/11/19 HTML / CSS
eDreams澳大利亚:预订机票、酒店和度假产品
2017/04/19 全球购物
ECOSUSI官网:女式皮革背包
2019/09/27 全球购物
Farfetch澳大利亚官网:Farfetch Australia
2020/04/26 全球购物
应届毕业生个人求职信范文
2014/01/29 职场文书
小学敬老月活动方案
2014/02/11 职场文书
孝女彩金观后感
2015/06/10 职场文书
React列表栏及购物车组件使用详解
2021/06/28 Javascript