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 . '&p=' . ($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 . '&p=' . $page ?>"><?php echo $page;?></a></span> <?php endif;?> <?php endforeach;?>
<?php if (($pageIndex< $pageCount)): ?> <span class="page_next"><a href="<?php echo $link . '&p=' . ($pageIndex +1) ?>">下一页</a></span> <?php endif; ?> <?php endif;?>
効果は次のとおりで、Baidu の検索ページも同様です。スタイルは自分で変更する必要があります。
以上がBaidu ページング効果 (検索ページの下) を表示するにはどうすればよいですか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。