如果左边的记录条数小于$space(页码区段)的值,页码$start从1开始向右增值。如果左则的记录条数多于$left(左右各显示页数)的值,$start将从左边记录数减去$left值开始记数。
<?php <BR>/** 实现同类产品翻页 **/ <br><br>class pager <BR>{ <BR>protected $space; <BR>protected $left; <BR>protected $DB; <BR>protected $pageName; <br><br>public function setSpace($num) { <BR>$this->space = $num; <BR>$this->left = ceil(($num-1)/2); <BR>} <br><br>public function setDB(&$db) { <BR>$this->DB = $db; <BR>} <br><br>public function setPageName($pageName) { <BR>$this->pageName = $pageName; <BR>} <br><br>public function getPages($catid, $exptime) { <BR>$fields = array("`id`,`title`"); <BR>$left = array(">" => array("exptime"=>$exptime), "memberid" => gs(_MEM_PREFIX_ . "memberid"), "catid"=>$catid); <BR>$right = array(" array("exptime"=>$exptime), "memberid" => gs(_MEM_PREFIX_ . "memberid"), "catid"=>$catid); <br><br>$leftCount = $this->DB->getCount($left); <br><br>if($leftCount left) { <BR>$star = 1; <BR>$leftLimit = "LIMIT" . $leftCount; <BR>$rightLimit = "LIMIT " . ($this->space-$leftCount); <BR>} <BR>else { <BR>$start = $leftCount - $this->left; <BR>$leftLimit = "LIMIT " . $this->left; <BR>$rightLimit = $leftLimit; <BR>} <br><br>$list1 = $this->DB->findAll($left, array("exptime"=>"ASC"), $leftLimit, $fields); <BR>$list2 = $this->DB->findAll($right, array("exptime"=>"DESC"), $rightLimit, $fields); <br><br>/** 上一页链接 **/ <BR>$c = count($list1); <BR>if($c > 1) { <BR>$url = $this->pageName."-".$list1[$c]['id'].".html"; <BR>$pages = "上一页<ol>"; <BR>}elseif($c == 1) { <BR>$url = $this->pageName."-".$list1[0]['id'].".html"; <BR>$pages = "上一页<ol>"; <BR>}else { <BR>$pages = ""; <BR>} <br><br><BR>/** 当前页的左边内容 **/ <BR>foreach($list1 as $item) { <BR>$url = $this->pageName."-".$item['id'].".html"; <BR>$pages .= "<li>{$start}</li>"; <BR>$start++; <BR>} <br><br>$pages .= "<li><b>{$leftCount}</b></li>"; <BR>$start++; <br><br>/** 当前页面右边的内容 **/ <BR><em style="color:transparent">本文来源gao.dai.ma.com搞@代*码#网</em><a>搞代gaodaima码</a>foreach($list1 as $item) { <BR>$url = $this->pageName."-".$item['id'].".html"; <BR>$pages .= "<li>{$start}</li>"; <BR>$start++; <BR>} <br><br>/** 下一页的链接 **/ <BR>$c = count($list2); <BR>if($c > 0) { <BR>$url = $this->pageName."-".$list2[0]['id'].".html"; <BR>$pages .= "下一页<ol>"; <BR>}else { <BR>$pages .= ""; <BR>} <br><br>return $pages; <BR>} <BR>}; <BR>?> <BR>