왼쪽의 레코드 수가 $space(페이지 번호 섹션) 값보다 작으면 페이지 번호 $start는 1에서 오른쪽으로 증가합니다. 왼쪽의 레코드 수가 $left 값(왼쪽과 오른쪽에 표시되는 페이지 수)보다 많은 경우 $start는 왼쪽 레코드 수에서 $left 값을 빼서 계산을 시작합니다.
코드 복사 코드는 다음과 같습니다.
/**유사제품의 페이지 넘김을 실현 **/
클래스 호출기
{
protected $left;
protected $DB;
public function setSpace($num) {
$this ->space = $num;
$this->left = ceil(($num-1)/2)
}
공용 함수 setDB(&$db) {
$ this->DB = $db;
}
공용 함수 setPageName($pageName) {
$this->pageName = $pageName
}
공용 함수 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"
$rightLimit = " .($ this->space-$leftCount);
}
else {
$start = $leftCount - $this->left
$leftLimit " . -> 왼쪽;
$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 = "이전 페이지