Baidu ページング効果 (検索ページの下) を表示するにはどうすればよいですか?

黄舟
リリース: 2023-03-14 10:44:02
オリジナル
3324 人が閲覧しました

1: データ収集

$pageIndex = $_GET['p']?$_GET['p']:'1';//当前页码    
$perpage = 10;//每页显示多少数量,和页码无关    
$count = 121;//总数是多少,//和页码无关    
$flag =9;//显示页码个数    
$pageCount = ceil($count/$perpage); //总的页码个数
   $pagesInRange = $this->page_show($pageIndex, $pageCount, $flag);//显示的页码数组
ログイン後にコピー

注: page_show は、以下に示すように、表示されるページ番号データの配列を構築するために使用される関数です。

public function page_show2($pageIndex, $pageCount, $flag){
  if($flag > $pageCount){             
  $flag = ( $pageCount);           }
  if($flag%2){            
  $aa = floor($flag/2);            
  $lowerBound = $pageIndex - $aa;        
  $upperBound = $pageIndex + $aa;          
  }else{
           $aa = floor($flag/2);            
           $lowerBound = $pageIndex - $aa;        
           $upperBound = $pageIndex + $aa -1;          
           }
     if( $lowerBound< 1){        
     $offset = 0-$lowerBound +1;        
     $lowerBound =1;        
     $upperBound = $upperBound + $offset;      
     }
     if($upperBound> $pageCount){
       $up = $upperBound;        
       $upperBound = $pageCount;
       $offset = $up-$pageCount;        
       $lowerBound = $lowerBound - $offset;      
       }
     $data = array();      
     for ($i=($lowerBound); $i <= ($upperBound); $i++) {         
     $data[] = $i;      
     }
     return $data;     
     }
ログイン後にコピー

データを構築したら、どのページ番号を表示するかを判断するためにいくつかのデータを使用する必要があります。

HTML ページで使用されるデータは次のとおりです: (注: $this-> が付いた変数は以前に収集された変数です。HTML ページ上での書き方が異なるだけです。基本的に、これは、フレームワークでない場合は、次のデータを自分でエコーし、変数の $this-> 文字を削除する必要があります)

<?php if ($pageCount > 1): ?>
<?php if (($pageIndex > 1)): ?>
<span class="page_up"><a href="<?php echo $link . &#39;&p=&#39; . ($pageIndex-1) ?>">上一页</a></span>
<?php endif; ?>
<?php foreach($pagesInRange as $page) : ?>
<?php if ($page == $pageIndex): ?>
<span class="curr onthis"><?php echo $page;?></span>
<?php else : ?>
<span><a href="<?php echo $link . &#39;&p=&#39; . $page ?>"><?php echo $page;?></a></span>
<?php endif;?>
<?php endforeach;?>
ログイン後にコピー
<?php if (($pageIndex< $pageCount)): ?>
<span class="page_next"><a href="<?php echo $link . &#39;&p=&#39; . ($pageIndex +1) ?>">下一页</a></span>
<?php endif; ?>
<?php endif;?>
ログイン後にコピー

効果は次のとおりで、Baidu の検索ページも同様です。スタイルは自分で変更する必要があります。

以上がBaidu ページング効果 (検索ページの下) を表示するにはどうすればよいですか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

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