当前位置:Gxlcms > PHP教程 > 这个封装的分页函数怎么样改成这种效果呢?

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

时间:2021-07-01 10:21:17 帮助过:22人阅读

不让它显示所有的页 永远只显示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<$pagenum;$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<0||!is_numeric($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

人气教程排行