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安全配置方法
Jun 16 PHP
php数据库抽象层 PDO
May 07 PHP
PHP通过正则表达式下载图片到本地的实现代码
Sep 19 PHP
三个类概括PHP的五种设计模式
Sep 05 PHP
destoon之一键登录设置
Jun 21 PHP
PHP中使用glob函数实现一句话删除某个目录下的所有文件
Jul 22 PHP
PHP连接SQLServer2005的方法
Jan 27 PHP
Yii扩展组件编写方法实例分析
Jun 29 PHP
WordPress开发中用于标题显示的相关函数使用解析
Jan 07 PHP
Zend Framework教程之Zend_Db_Table用法详解
Mar 21 PHP
[原创]php正则删除html代码中class样式属性的方法
May 24 PHP
Lumen timezone 时区设置方法(慢了8个小时)
Jan 20 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中一个完整表单处理实现代码
2011/11/10 PHP
php简单的留言板与回复功能具体实现
2014/02/19 PHP
PHP获取数组长度或某个值出现次数的方法
2015/02/11 PHP
php数据结构之顺序链表与链式线性表示例
2018/01/22 PHP
jQuery 事件队列调整方法
2009/09/18 Javascript
JavaScript实现x秒后自动跳转到一个页面
2013/01/03 Javascript
php实例分享之实现显示网站运行时间
2014/05/20 Javascript
JS拖拽插件实现步骤
2015/08/03 Javascript
详解JavaScript编程中的数组结构
2015/10/24 Javascript
Bootstrap Table使用方法详解
2016/08/01 Javascript
javascript简易画板开发
2020/04/12 Javascript
一个非常好用的文字滚动的案例,鼠标悬浮可暂停[两种方案任选]
2016/12/01 Javascript
assert()函数用法总结(推荐)
2017/01/25 Javascript
webpack学习笔记之代码分割和按需加载的实例详解
2017/07/20 Javascript
浅谈webpack构建工具配置和常用插件总结
2020/05/11 Javascript
jQuery实现滑动开关效果
2020/08/02 jQuery
利用打码兔和超人打码自封装的打码类分享
2014/03/16 Python
python通过shutil实现快速文件复制的方法
2015/03/14 Python
python之DataFrame实现excel合并单元格
2021/02/22 Python
python dataframe astype 字段类型转换方法
2018/04/11 Python
使用python编写监听端
2018/04/12 Python
python调用staf自动化框架的方法
2018/12/26 Python
python中id函数运行方式
2020/07/03 Python
html5启动原生APP总结
2020/07/03 HTML / CSS
自我评价如何写好?
2014/01/05 职场文书
五年级语文教学反思
2014/01/30 职场文书
财务主管岗位职责
2014/02/28 职场文书
物业品质提升方案
2014/06/08 职场文书
争先创优活动总结
2014/08/27 职场文书
个人三严三实对照检查材料
2014/09/25 职场文书
2014年教师个人工作总结
2014/11/10 职场文书
初中生300字旷课检讨书
2014/11/19 职场文书
2014年个人年终总结
2015/03/09 职场文书
儿子满月酒致辞
2015/07/29 职场文书
Django使用redis配置缓存的方法
2021/06/01 Redis
css常用字体属性与背景属性介绍
2022/02/28 HTML / CSS