php实现的仿阿里巴巴实现同类产品翻页
前端之家收集整理的这篇文章主要介绍了
php实现的仿阿里巴巴实现同类产品翻页,
前端之家小编觉得挺不错的,现在分享给大家,也给大家做个参考。
如果左边的记录条数小于$space(页码区段)的值,页码$start从1开始向右增值。如果左则的记录条数多于$left(左右各显示页数)的值,$start将从左边记录数减去$left值开始记数。
<div class="codetitle"><a style="CURSOR: pointer" data="85534" class="copybut" id="copybut85534" onclick="doCopy('code85534')"> 代码如下:
<div class="codebody" id="code85534">
<?
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),"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}\">上一页
";
}elseif($c == 1) {
$url = $this->pageName."-".$list1[0]['id'].".html";
$pages = "<a href=\"{$url}\">上一页";
}else {
$pages = "";
}
/ 当前页的左边内容 /
foreach($list1 as $item) {
$url = $this->pageName."-".$item['id'].".html";
$pages .= "- <a href=\"{$url}\">{$start}
";
$start++;
} $pages .= "- {$leftCount}
";
$start++; / 当前页面右边的内容 /
foreach($list1 as $item) {
$url = $this->pageName."-".$item['id'].".html";
$pages .= "- <a href=\"{$url}\">{$start}
";
$start++;
} / 下一页的链接 /
$c = count($list2);
if($c > 0) {
$url = $this->pageName."-".$list2[0]['id'].".html";
$pages .= "<a href=\"{$url}\">下一页";
}else {
$pages .= "";
} return $pages;
}
};
?>