发表于 2018-12-12 11:52:49

php实现分页代码

  mysql+php实现分页

  数据库设计,如图

  /**
  * 1.获取页数
  */
  $page = empty($_GET['p'])?1:($_GET['p']);
  /**
  * 2.处理数据
  */
  // 链接数据库
  $host = "127.0.0.1";
  $user = "root";
  $pwd = "root";
  $db = "test";
  $mysqli = mysqli_connect($host $user $pwd $db);
  if (!$mysqli) {
  echo "数据库连接错误";
  exit();
  }
  // 设置参数
  $pageSize = 10;
  // 查询并显示数据(分页公式:(当前页-1)*每页显示的条数 每页显示的条数)
  $sql = "select * from page limit ".($page-1)*$pageSize.""."{$pageSize}";
  $result = mysqli_query($mysqli $sql);
  echo "";
  编号姓名
  while ($row = mysqli_fetch_assoc($result)) {
  {$row['id']}{$row['name']}
  echo "";
  }
  echo "";
  // 查询总的页数
  $total_sql = "select count(*) from page";
  $total_result = mysqli_fetch_array(mysqli_query($mysqli$total_sql));
  $total = ceil($total_result/$pageSize);
  mysqli_close($mysqli);
  /**
  * 3.输出分页
  */
  $showPage =5;// 显示页数
  $banner_page = "
  ";
  $pageOffSet = ($showPage-1)/2;//偏移量
  if ($page>1) {
  $banner_page.= "首页";
  $banner_page.= "上一页";
  }
  // 初始化数据
  $start = 1;
  $end = $total;
  // 数字前的省略(该部分内容顺序不可修改!!!)
  if ($total>$showPage) {
  if($page>$pageOffSet+1){
  $banner_page .= "...";
  } if($page>$pageOffSet) {
  $start = $page-$pageOffSet;
  $end = $total>$page+$pageOffSet?$page+$pageOffSet:$total;
  }else{
  $start = 1;
  $end = $total>$showPage?$showPage:$total;
  }if($page+$pageOffSet>$total){
  $start = $start-($page+$pageOffSet-$end);
  }
  }
  // 中间省略
  for ($i=$start; $i $showPage && $total>($page+$pageOffSet)) {
  $banner_page.= "...";
  }
  if ($page



页: [1]
查看完整版本: php实现分页代码