ホームページ  >  記事  >  バックエンド開発  >  PHPはAlibabaを模倣して類似商品のページめくりを実現_PHPチュートリアル

PHPはAlibabaを模倣して類似商品のページめくりを実現_PHPチュートリアル

WBOY
WBOYオリジナル
2016-07-21 15:42:441015ブラウズ

左側のレコード数が $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";ページ .= "
    1. {$start}
    2. "
      $start++;

      $pages .= " < ;li>{$leftCount}";
      $start++;

      /**現在のページの右側のコンテンツ **/
      foreach($list1 as $item) {
      $ url = $this->pageName."-".$item['id'].".html";
      $pages .= "
    3. { $ start}
    4. ";
      $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

        tru​​e

        http://www.bkjia.com/PHPjc/320934.html

        技術記事

        左側のレコード数が $space (ページ番号セクション) の値より小さい場合、ページ番号 $start は 1 から右に増加します。左側のレコード数が$leftの値(左右に表示されるページ数)より多い場合、$startは左から...