php+mysql页面分页

数据库代码部分

/*
Navicat MySQL Data Transfer

Source Server         : page
Source Server Version : 50649
Source Host           : 数据库的位置:3306
Source Database       : page

Target Server Type    : MYSQL
Target Server Version : 50649
File Encoding         : 65001

Date: 2020-11-14 10:59:59
*/

SET FOREIGN_KEY_CHECKS=0;

-- ----------------------------
-- Table structure for test
-- ----------------------------
DROP TABLE IF EXISTS `test`;
CREATE TABLE `test` (
  `id` int(11) NOT NULL AUTO_INCREMENT,
  `name` varchar(50) NOT NULL,
  `sex` varchar(2) NOT NULL,
  PRIMARY KEY (`id`)
) ENGINE=InnoDB AUTO_INCREMENT=19 DEFAULT CHARSET=utf8;

-- ----------------------------
-- Records of test
-- ----------------------------
INSERT INTO `test` VALUES ('1', '张三', '男');
INSERT INTO `test` VALUES ('2', '李四', '女');
INSERT INTO `test` VALUES ('3', '王五', '男');
INSERT INTO `test` VALUES ('4', '赵六', '女');
INSERT INTO `test` VALUES ('5', '小七', '男');
INSERT INTO `test` VALUES ('6', '小八', '男');
INSERT INTO `test` VALUES ('7', '小九', '男');
INSERT INTO `test` VALUES ('8', '小十', '女');
INSERT INTO `test` VALUES ('9', '小十一', '男');
INSERT INTO `test` VALUES ('10', '张三', '男');
INSERT INTO `test` VALUES ('11', '李四', '女');
INSERT INTO `test` VALUES ('12', '王五', '男');
INSERT INTO `test` VALUES ('13', '赵六', '女');
INSERT INTO `test` VALUES ('14', '小七', '男');
INSERT INTO `test` VALUES ('15', '小八', '男');
INSERT INTO `test` VALUES ('16', '小九', '男');
INSERT INTO `test` VALUES ('17', '小十', '女');
INSERT INTO `test` VALUES ('18', '小十一', '男');

php代码部分

<!DOCTYPE html>
<html lang="zh">
<head>
	<meta charset="UTF-8" />
	<meta name="viewport" content="width=device-width, initial-scale=1.0" />
	<meta http-equiv="X-UA-Compatible" content="ie=edge" />
	<title>Document</title>
</head>
<body>
    <?php
        $page=$_GET['p'];
        
        
        //数据库的参数
        $host="地址";//你的数据库的地址
        $user="page";
        $pw="000000";
        $db="page";
        $PageSize=5;
        $ShowPage=3;
        
        //连接数据库
        $conn=mysqli_connect($host,$user,$pw);
        if(!$conn){
            echo "faild";
        }else{
            echo "success";
        }
    
        //选择要操作的数据库
        mysqli_select_db($conn,$db);
        mysqli_query($conn,"SET NAMES UTF8");
        //编写sql获取分页数据: select * from 表名 limit 起始位置 ,显示条数
          $sql="select * from test limit " .($page-1)*$PageSize .",$PageSize";
       
        //把sql语句传送到数据库
        $result=mysqli_query($conn,$sql);

        //处理我们的数据
        echo "<table border=1 cellspacing=0 width=15%>";
        echo "<tr><td>ID</td><td>名字</td><td>性别</td></tr>";
        foreach($result as $row){
            echo "<tr>";
            echo "<td>{$row['id']}</td>";
            echo "<td>{$row['name']}</td>";
            echo "<td>{$row['sex']}</td>";
            echo "</tr>";
        }
        echo "</table>";
        
        $to_sql="select count(*) from test";
        $to_result=mysqli_fetch_array(mysqli_query($conn,$to_sql));
        $to=$to_result[0];
        
        
        //计算页数
        $to_pages=ceil($to/$PageSize);
        
        //显示数据+分页条
        $page_banner="";
        //计算偏移量
        $pageffset=($ShowPage-1)/2;
        
        if($page>1){
            $page_banner.="<a href='".$_SERVER['PHP_SELF']."?p=1'>首页</a>";
            $page_banner.="<a href='".$_SERVER['PHP_SELF']."?p=".($page-1)."'>上一页&nbsp;</a>";
        }
        
       
       //初始化数据
        $start=1;
         $end=$to_pages;
         if ($to_pages>$ShowPage){
         if($page>$pageffset+1){
         $page_banner.="...";
         }
         if ($page>$pageffset){
         $start=$page-$pageffset;
         $end=$to_pages>$page+$pageffset?$page+$pageffset:$to_pages;
         }else{
         $start=1;
         $end=$to_pages>$ShowPage?$ShowPage:$to_pages;
         }
         if ($page+$pageffset>$to_pages){
         $start=$start-($page+$pageffset-$end);
         }
         }
         for($i=$start;$i<=$end;$i++){
         $page_banner.="<a href='".$_SERVER['PHP_SELF']."?p=".($i)."'>{$i}</a>";
         }
         //尾部省略
         if ($to_pages>$ShowPage&&$to_pages>$page+$pageffset){
         $page_banner.="...";
         }
       
       
       
       
        
        if($page<$to_pages){
            $page_banner.="<a href='".$_SERVER['PHP_SELF']."?p=".($page+1)."'>下一页</a>";
            
            $page_banner.="<a href='".$_SERVER['PHP_SELF']."?p=".($to_pages)."'>尾页</a>";
        }
        
        
        $page_banner.="共{$to_pages}页";
       
        echo $page_banner;
        
        
    
    ?>
</body>
</html>

在这里插入图片描述

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值