ホームページ > php教程 > php手册 > PHPはAlibabaを模倣して類似商品のページめくりを実現

PHPはAlibabaを模倣して類似商品のページめくりを実現

WBOY
リリース: 2016-06-13 12:20:17
オリジナル
1122 人が閲覧しました

左側のレコード数が $space (ページ番号セクション) の値より小さい場合、ページ番号 $start は 1 から右に増加します。左側のレコード数が $left の値 (左右に表示されるページ数) より大きい場合、$start は左側のレコード数から $left の値を減算してカウントを開始します。

コードをコピー コードは次のとおりです:


/**類似商品のページめくりを実現 **/

クラス ページャー
{
protected $space;
protected $DB;

public function setSpace( $num) {
$this->space = $num;
$this->left = ceil(($num-1)/2);

function setDB( &$db) {
$this->DB = $db;

public function setPageName($pageName) {
$this->pageName = $ pageName;
}

public function getPages($catid, $exptime) {
$fields = array("`id`,`title`"); "> " =>array("exptime"=>$exptime)、"memberid" => gs(_MEM_PREFIX_ . "memberid")、"catid"=>$catid); array(" <" => array("exptime"=>$exptime), "memberid" => gs(_MEM_PREFIX_ . "memberid"), "catid"=>$catid); 🎜>$ leftCount = $this->DB->getCount($left);

if($leftCount <= $this->left) {
$star = 1; 🎜>$ leftLimit = "LIMIT" . $leftCount;
$rightLimit = "LIMIT " . ($this->space-$leftCount);
else {
$start = $ leftCount - $this->left;
$leftLimit = "LIMIT " . $this->left;

$list1; -> 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"; "< a href="{$url}">前のページ

    ";
    }elseif($c == 1) {
    $url = $this-> pageName ."-".$list1[0]['id'].".html";
    $pages = "前のページ ol>";
    }else {
    $pages = "";
    }


    /**現在のページの左側のコンテンツ **/
    foreach($list1 as $ item ) {
    $url = $this->pageName."-".$item['id'].".html";
    $pages .= "
  1. {$start}
  2. ";
    $start ;
    }

    $pages .= "
  3. < b>{$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 . = "" ;
      }

      $ ページを返す
      }
      ?>

ソース:php.cn
このウェブサイトの声明
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。
最新の問題
人気のおすすめ
人気のチュートリアル
詳細>
最新のダウンロード
詳細>
ウェブエフェクト
公式サイト
サイト素材
フロントエンドテンプレート