ホームページ  >  記事  >  バックエンド開発  >  PHP は、類似製品に対する Alibaba のページめくり効果を実装します_PHP チュートリアル

PHP は、類似製品に対する Alibaba のページめくり効果を実装します_PHP チュートリアル

WBOY
WBOYオリジナル
2016-07-21 14:55:001254ブラウズ

現在のページの左側のページ番号は更新時刻の昇順に並べられた最新の製品であり、右側のページ番号は更新時刻の降順に並べられた以前の製品です。左側のレコード数が $space (ページ番号セクション) の値より小さい場合、ページ番号 $start は 1 から右に増加します。左側のレコード数が $left の値 (左右に表示されるページ数) より大きい場合、$start は左側のレコード数から $left の値を減算してカウントを開始します。

クリップボードにコピーLiehuo.Net Codes引用コンテンツ: [www.bkjia.com] 1 2 /**類似商品のページめくりを実現**/
3
4
5 クラスページャー
6 {
7 protected $space;
9 protected $DB;
10 protected $pageName;
11
12 パブリック関数 setSpace($num) {
13 $this->space = $num;
14 $this->left = ceil(($num-1)/2);
16
17 パブリック関数 setDB(&$db) {
18 $this->DB = $db;
20
21 パブリック関数 setPageName($pageName) {
22 $this->pageName = $pageName;
23 }
24
25 public function getPages($catid, $exptime) {
26 $fields = array("`id`,`title`");
27 $left = array(">" => array("exptime"=>$exptime)、"memberid" => gs(_MEM_PREFIX_ . "memberid")、"catid"=>$catid);
28 $right = array("<" => ; array("exptime"=>$exptime)、"memberid" =>gs(_MEM_PREFIX_ . "memberid")、"catid"=>30 $leftCount = $this-> DB->getCount($left);
31
32 if($leftCount left) {
34 $leftLimit = "LIMIT"
35 $rightLimit = "LIMIT " . ($this->space-$leftCount);
36 }
37 else {
38 $start = $leftCount - $this->left
39 $leftLimit = "LIMIT " . $this->left;
40 $rightLimit = $leftLimit
41 }
42
43 $list1 = $this->DB->findAll($left, array("exptime"=>"ASC") ), $leftLimit, $fields);
44 $list2 = $this->DB->findAll($right, array("exptime"=>"DESC"), $rightLimit, $fields);
46 /**前のページへのリンク **/
47 $c = count($list1);
48 if($c > 1) {
49 $url = $this->pageName."-".$list1 [$c]['id'].".html";
50 $pages = "前のページ
    "; ($c == 1) {
    52 $url = $this->pageName."-".$list1[0]['id'].".html";
    53 $pages = "< a href ="{$url}">前のページ
      ";
      54 }else {
      55 $pages = "";
      56 }
      57
      58
      59 /** 現在のページの左側のコンテンツ ** /
      60 foreach($list1 as $item) {
      61 $url = $this->pageName."-".$item['id'].".html";
      62 $pages = "< li>{$start}";
      63 $start++;
      64 }
      65
      66 $pages . = "< li>{$leftCount}";
      67 $start++;
      68
      69 /**現在のページの右側のコンテンツ **/
      70 foreach($list1 as $item) {
      71 $url = $this->pageName."-".$item['id'].".html";
      72 $pages .= "
    1. {$start}
    2. ";
      73 $start++
      74 }
      75
      76 /**次のページへのリンク **/
      77 $c = count( $list2);
      78 if($c > 0) {
      79 $url = $this->pageName."-".$list2[0]['id'].".html";
      80 $ ページ .= "; 次のページ
        ";
        81 }else {
        82 $pages .= "";
        83 }
        84
        85 return $pages;
        86 }
        87 };
        88 ?>

        www.bkjia.comtru​​ehttp://www.bkjia.com/PHPjc/364468.html技術記事現在のページの左側のページ番号は更新時刻の昇順に並べられた最新の製品であり、右側のページ番号は更新時刻の降順に並べられた以前の製品です。左側のレコード数が以下の場合...
声明:
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。