php实现的仿阿里巴巴实现同类产品翻页


Posted in PHP onDecember 11, 2009

如果左边的记录条数小于$space(页码区段)的值,页码$start从1开始向右增值。如果左则的记录条数多于$left(左右各显示页数)的值,$start将从左边记录数减去$left值开始记数。

<?php 
/** 实现同类产品翻页 **/ class pager 
{ 
protected $space; 
protected $left; 
protected $DB; 
protected $pageName; 
public function setSpace($num) { 
$this->space = $num; 
$this->left = ceil(($num-1)/2); 
} 
public function setDB(&$db) { 
$this->DB = $db; 
} 
public function setPageName($pageName) { 
$this->pageName = $pageName; 
} 
public function getPages($catid, $exptime) { 
$fields = array("`id`,`title`"); 
$left = array(">" => array("exptime"=>$exptime), "memberid" => gs(_MEM_PREFIX_ . "memberid"), "catid"=>$catid); 
$right = array("<" => array("exptime"=>$exptime), "memberid" => gs(_MEM_PREFIX_ . "memberid"), "catid"=>$catid); 
$leftCount = $this->DB->getCount($left); 
if($leftCount <= $this->left) { 
$star = 1; 
$leftLimit = "LIMIT" . $leftCount; 
$rightLimit = "LIMIT " . ($this->space-$leftCount); 
} 
else { 
$start = $leftCount - $this->left; 
$leftLimit = "LIMIT " . $this->left; 
$rightLimit = $leftLimit; 
} 
$list1 = $this->DB->findAll($left, array("exptime"=>"ASC"), $leftLimit, $fields); 
$list2 = $this->DB->findAll($right, array("exptime"=>"DESC"), $rightLimit, $fields); 
/** 上一页链接 **/ 
$c = count($list1); 
if($c > 1) { 
$url = $this->pageName."-".$list1[$c]['id'].".html"; 
$pages = "<a href=\"{$url}\">上一页</a><ol>"; 
}elseif($c == 1) { 
$url = $this->pageName."-".$list1[0]['id'].".html"; 
$pages = "<a href=\"{$url}\">上一页</a><ol>"; 
}else { 
$pages = ""; 
} 

/** 当前页的左边内容 **/ 
foreach($list1 as $item) { 
$url = $this->pageName."-".$item['id'].".html"; 
$pages .= "<li><a href=\"{$url}\">{$start}</a></li>"; 
$start++; 
} 
$pages .= "<li><b>{$leftCount}</b></li>"; 
$start++; 
/** 当前页面右边的内容 **/ 
foreach($list1 as $item) { 
$url = $this->pageName."-".$item['id'].".html"; 
$pages .= "<li><a href=\"{$url}\">{$start}</a></li>"; 
$start++; 
} 
/** 下一页的链接 **/ 
$c = count($list2); 
if($c > 0) { 
$url = $this->pageName."-".$list2[0]['id'].".html"; 
$pages .= "<a href=\"{$url}\">下一页</a><ol>"; 
}else { 
$pages .= ""; 
} 
return $pages; 
} 
}; 
?>
PHP 相关文章推荐
PHP分页显示制作详细讲解
Dec 05 PHP
PHPMailer安装方法及简单实例
Nov 25 PHP
PHP XML操作类DOMDocument
Dec 16 PHP
PHP 遍历文件实现代码
May 04 PHP
php打造属于自己的MVC框架
Mar 07 PHP
ThinkPHP连接数据库及主从数据库的设置教程
Aug 22 PHP
php获取YouTube视频信息的方法
Feb 11 PHP
php把大写命名转换成下划线分割命名
Apr 27 PHP
php实现Session存储到Redis
Nov 11 PHP
在Mac OS上编译安装Nginx+PHP+MariaDB开发环境的教程
Feb 23 PHP
详解PHP中websocket的使用方法
Sep 15 PHP
PHP如何读取由JavaScript设置的Cookie
Mar 22 PHP
Php Mssql操作简单封装支持存储过程
Dec 11 #PHP
php smarty模版引擎中变量操作符及使用方法
Dec 11 #PHP
phpmyadmin导入(import)文件限制的解决办法
Dec 11 #PHP
php smarty模版引擎中的缓存应用
Dec 11 #PHP
php5 图片验证码实现代码
Dec 11 #PHP
php下图片文字混合水印与缩略图实现代码
Dec 11 #PHP
一个比较简单的PHP 分页分组类
Dec 10 #PHP
You might like
一个简单计数器的源代码
2006/10/09 PHP
PHP 5.0对象模型深度探索之属性和方法
2008/03/27 PHP
PHP+Mysql+jQuery实现发布微博程序 php篇
2015/10/15 PHP
开启PHP Static 关键字之旅模式
2015/11/13 PHP
超强多功能php绿色集成环境详解
2017/01/25 PHP
PHP实现转盘抽奖算法分享
2020/04/15 PHP
不要小看注释掉的JS 引起的安全问题
2008/12/27 Javascript
JavaScript 小型打飞机游戏实现原理说明
2010/10/28 Javascript
jquery html动态生成select标签出问题的解决方法
2013/11/20 Javascript
js光标定位文本框回车表单提交问题的解决方法
2015/05/11 Javascript
Javascript 计算字符串在localStorage中所占字节数
2015/10/21 Javascript
javascript将list转换成树状结构的实例
2017/09/08 Javascript
Scala解析Json字符串的实例详解
2017/10/11 Javascript
Vue如何实现响应式系统
2018/07/11 Javascript
Node.js之readline模块的使用详解
2019/03/25 Javascript
关于vue状态过渡transition不起作用的原因解决
2019/04/09 Javascript
vue中的面包屑导航组件实例代码
2019/07/01 Javascript
vue通过v-html指令渲染的富文本无法修改样式的解决方案
2020/05/20 Javascript
小程序Scroll-view上拉滚动刷新数据
2020/06/21 Javascript
Vue使用axios引起的后台session不同操作
2020/08/14 Javascript
[57:47]Fnatic vs Winstrike 2018国际邀请赛小组赛BO2 第二场 8.18
2018/08/19 DOTA
Python远程桌面协议RDPY安装使用介绍
2015/04/15 Python
python读写ini配置文件方法实例分析
2015/06/30 Python
Python基础教程之内置函数locals()和globals()用法分析
2018/03/16 Python
详解Python sys.argv使用方法
2019/05/10 Python
python实现一个函数版的名片管理系统过程解析
2019/08/27 Python
Python线程指南分享
2019/11/19 Python
波兰香水和化妆品购物网站:Notino.pl
2017/11/07 全球购物
英国领先的互联网葡萄酒礼品商:Vintage Wine & Port
2019/05/24 全球购物
铭宣海淘转运:美国、日本、英国转运等全球转运公司
2019/09/10 全球购物
物业管理应届生求职信
2013/10/28 职场文书
生产总经理岗位职责
2013/12/19 职场文书
辞职信标准格式
2015/02/27 职场文书
讲文明倡议书
2015/04/29 职场文书
2016优秀护士求职自荐信
2016/01/28 职场文书
运动会主持人开幕词
2016/03/04 职场文书