Home > php教程 > php手册 > php实现的仿阿里巴巴实现同类产品翻页

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

WBOY
Release: 2016-06-13 12:20:17
Original
1124 people have browsed it

如果左边的记录条数小于$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;
        }
        };
        ?>
source:php.cn
Statement of this Website
The content of this article is voluntarily contributed by netizens, and the copyright belongs to the original author. This site does not assume corresponding legal responsibility. If you find any content suspected of plagiarism or infringement, please contact admin@php.cn
Popular Recommendations
Popular Tutorials
More>
Latest Downloads
More>
Web Effects
Website Source Code
Website Materials
Front End Template