左側のレコード数が $space (ページ番号セクション) の値より小さい場合、ページ番号 $start は 1 から右に増加します。左側のレコード数が $left の値 (左右に表示されるページ数) より大きい場合、$start は左側のレコード数から $left の値を減算してカウントを開始します。
/**類似商品のページめくりを実現**/
class pager
{
protected $space;
protected $; DB;
保護された $pageName;
public function setSpace($num) {
$this->space = $num;
$this->left = ceil(($num-1)/2);
パブリック関数 setDB(&$db) {
$this->DB = $db;
パブリック関数 setPageName($pageName) {
$this->pageName = $pageName;
public function getPages($ catid, $exptime) {
$fields = array("`id`,`title`");
$left = array(">gt;" =>array("exptime"=>$exptime) ), "メンバーID " => gs(_MEM_PREFIX_ . "メンバーID"), "catid"=>$catid);
$right = array("<" => array("exptime"=>$exptime) ), "メンバー ID " => gs(_MEM_PREFIX_ . "メンバー ID"), "catid"=>$catid) = $this->DB->getCount($left); ($leftCount <= $this->left) {
$star = "LIMIT"
$rightLimit = "LIMIT " . ;
}
else {
$start = $leftCount - $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";ページ .= "- {$start}
"
$start++;
$pages .= " < ;li>{$leftCount}";
$start++;
/**現在のページの右側のコンテンツ **/
foreach($list1 as $item) {
$ url = $this->pageName."-".$item['id'].".html";
$pages .= "- { $ start}
";
$start++;
}
/**次のページへのリンク **/
$c = count($list2);
if($c > 0) {
$url = $this->pageName."-".$list2[0]['id'].".html"
$pages .= "";
}else {
$pages .= "";
}
return $pages;
}
};
?>
http://www.bkjia.com/PHPjc/320934.html
www.bkjia.com
true
http://www.bkjia.com/PHPjc/320934.html
技術記事
左側のレコード数が $space (ページ番号セクション) の値より小さい場合、ページ番号 $start は 1 から右に増加します。左側のレコード数が$leftの値(左右に表示されるページ数)より多い場合、$startは左から...