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

WBOY
发布: 2016-07-21 15:42:44
原创
1051 人浏览过

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

复制代码 代码如下:

/** 实现同类产品翻页 **/

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 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 = "上一页
    ";
    }elseif($c == 1) {
    $url = $this->pageName."-".$list1[0]['id'].".html";
    $pages = "上一页
      ";
      }else {
      $pages = "";
      }


      /** 当前页的左边内容 **/
      foreach($list1 as $item) {
      $url = $this->pageName."-".$item['id'].".html";
      $pages .= "
    1. {$start}
    2. ";
      $start++;
      }

      $pages .= "
    3. {$leftCount}
    4. ";
      $start++;

      /** 当前页面右边的内容 **/
      foreach($list1 as $item) {
      $url = $this->pageName."-".$item['id'].".html";
      $pages .= "
    5. {$start}
    6. ";
      $start++;
      }

      /** 下一页的链接 **/
      $c = count($list2);
      if($c > 0) {
      $url = $this->pageName."-".$list2[0]['id'].".html";
      $pages .= "下一页
        ";
        }else {
        $pages .= "";
        }

        return $pages;
        }
        };
        ?>

www.bkjia.comtruehttp://www.bkjia.com/PHPjc/320934.htmlTechArticle如果左边的记录条数小于$space(页码区段)的值,页码$start从1开始向右增值。如果左则的记录条数多于$left(左右各显示页数)的值,$start将从左...
来源:php.cn
本站声明
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系admin@php.cn
热门教程
更多>
最新下载
更多>
网站特效
网站源码
网站素材
前端模板