> 백엔드 개발 > PHP 튜토리얼 > 这个封装的分页函数怎么样改成这种效果呢?

这个封装的分页函数怎么样改成这种效果呢?

WBOY
풀어 주다: 2016-06-20 12:37:31
원래의
983명이 탐색했습니다.

不让它显示所有的页   永远只显示5页或者10页 就像图片中的一样    我这个代码应该怎么改呢?

function fenye(){
global $page,$pagenum;
echo "

";
echo "
    ";
    echo '
  • '.$page.'/'.$pagenum.'页|
  • ';
       if($page==1){
                 echo '
  • 首页|
  • ';
                 echo '
  • 上一页|
  • ';
       }else{
         echo '
  • 首页|
  • ';
                 echo '
  • 上一页|
  • ';
       }
       echo '
    ';
           echo '
      ';
             for($i=0;$i      echo '
    • '.($i+1).'
    • ';
           } 
             echo '
    ';
               echo '
    ';
       if($page==$pagenum){
        echo '
  • |下一页|
  • ';
        echo '
  • 尾页|
  • ';
       }else{
        echo '
  • |下一页|
  • ';
        echo '
  • 尾页|
  • ';
       }
    echo '
';
    echo '
';
    
};
?>


回复讨论(解决方案)

这是数据库查询的页面
   include 'fenye.php';
   header('content-type:text/html;charset=utf-8;');
   $pdo=new PDO("mysql:host=localhost;dbname=t1","root","");
   $stmt=$pdo->prepare("select * from jianzhi");
   $stmt->execute();
   $res=$stmt->fetchall();
   $rows=count($res);//总的条数
   $pagesize=8;//每页的条数
   if($rows==0){
    $pagenum=0;
   }else{
    $pagenum=ceil($rows/$pagesize);//分成几页
   }
   if(isset($_GET['page'])){
      $page=$_GET['page'];
      if(empty($page)||$page        $page=1;
      }else{
        $page=intval($page);
      } 
   }else{
    $page=1;
   }
   if($page>$pagenum){
    $page=$pagenum;
   }
   $startnum = ($page - 1)*$pagesize;
   $query = "SELECT * FROM blog LIMIT $startnum,$pagesize";
   $stmt2=$pdo->prepare($query);
   $stmt2->execute();
   $res2=$stmt2->fetchall(PDO::FETCH_ASSOC);

看看这个就明白了http://www.imooc.com/learn/419

원천:php.cn
본 웹사이트의 성명
본 글의 내용은 네티즌들의 자발적인 기여로 작성되었으며, 저작권은 원저작자에게 있습니다. 본 사이트는 이에 상응하는 법적 책임을 지지 않습니다. 표절이나 침해가 의심되는 콘텐츠를 발견한 경우 admin@php.cn으로 문의하세요.
인기 튜토리얼
더>
최신 다운로드
더>
웹 효과
웹사이트 소스 코드
웹사이트 자료
프론트엔드 템플릿