>  기사  >  백엔드 개발  >  Baidu 페이징 효과를 표시하는 방법(검색 페이지 아래)은 무엇입니까?

Baidu 페이징 효과를 표시하는 방법(검색 페이지 아래)은 무엇입니까?

黄舟
黄舟원래의
2017-07-20 09:40:503257검색

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 중국어 웹사이트의 기타 관련 기사를 참조하세요!

성명:
본 글의 내용은 네티즌들의 자발적인 기여로 작성되었으며, 저작권은 원저작자에게 있습니다. 본 사이트는 이에 상응하는 법적 책임을 지지 않습니다. 표절이나 침해가 의심되는 콘텐츠를 발견한 경우 admin@php.cn으로 문의하세요.