-
基于上面文章的文件,调整了
index.php
代码,支持分页查询显示。- 效果
index.php
<?php // 导入公共文件 require_once("./db.php"); // 一页多少条数据 $pagesize = 2; // 页码,默认 1 $page = isset($_GET['page']) ? $_GET['page'] : 1; // 开始行号 $startRow = max(($page - 1), 0) * $pagesize; // 执行查询语句 $sql = "select * from user"; $result = mysqli_query($link, $sql); // 总条数 $count = mysqli_num_rows($result); // 总页数 $pages = ceil($count / $pagesize); // 构建查询分页 sql 语句,注意我这里用的 `.=` 也就是用上面的 sql 语句拼接下面的 sql 语句 $sql .= " order by id asc limit {$startRow},{$pagesize}"; // 再次执行查询语句 $result = mysqli_query($link, $sql); // 获取所有行数据 $arrs = mysqli_fetch_all($result, MYSQLI_ASSOC); // print_r($arrs); ?> <!DOCTYPE html> <html lang="en"> <head> <meta charset="UTF-8"> <meta name="viewport" content="width=device-width, initial-scale=1.0"> <title>Document</title> <script> // 添加用户 function addUser() { location.href = "./add.php"; } // 删除用户 function deleteUser(id) { // 询问是否删除 if (window.confirm("确定要删除吗?")) { // 跳转到 delete.php 页面进行删除,只要不是表单发送的都是 GET 请求 location.href = "./delete.php?id="+id; } } // 修改用户 function modifyUser(id) { // 跟添加一样,跳转新页面即可 } </script> </head> <body style="display: flex; align-items: center; flex-direction: column;"> <!-- 提示 --> <h2>总共有 <?php echo $count ?> 个人</h2> <a href="#" onclick="addUser()" style="margin-bottom: 20px;">添加用户</a> <!-- 列表 --> <table width="300" border="1" rules="all" cellpadding="5"> <!-- 头部 --> <tr bgcolor="#ccc"> <th>id</th> <th>名称</th> <th>年龄</th> <th>操作</th> </tr> <!-- 展示数据 --> <?php foreach ($arrs as $arr) { ?> <tr style="text-align: center;"> <td><?php echo $arr["id"] ?></td> <td><?php echo $arr["name"] ?></td> <td><?php echo $arr["age"] ?></td> <!-- 操作 --> <td> <a href="#" onclick="modifyUser(<?php echo $arr['id'] ?>)">修改</a> <!-- 删除用户操作 --> <a href="#" onclick="deleteUser(<?php echo $arr['id'] ?>)">删除</a> </td> </tr> <?php } ?> </table> <!-- 分页器 --> <div style="margin-top: 20px;"> <!-- 写法一:列出所有页码 --> <!-- <?php for ($i=1; $i <= $pages; $i++) { ?> <a href="?page=<?php echo $i ?>"><?php echo $i ?></a> <?php } ?> --> <!-- 写法二:列出所有页码,当前页不可点 --> <!-- <?php for ($i=1; $i <= $pages; $i++) { // echo "<a href='index.php?page=$i'>$i</a>"; // 推荐简写成这样,这样可以使用各种文件目录场景: // echo "<a href='?page=$i' style='padding: 5px;'>$i</a>"; // 判断当前页不能点击 if ($page == $i) { echo "<span style='padding: 5px;'>$i</span>"; }else { echo "<a href='?page=$i' style='padding: 5px;'>$i</a>"; } } ?> --> <!-- 写法三:列出所有页码,当前页不可点,且不一次性展示所有分页,只展示前后2页页码 --> <?php $start = max($page - 2, 1); $end = min($page + 2, $pages); for ($i=$start; $i <= $end; $i++) { if ($page == $i) { echo "<span style='padding: 5px;'>$i</span>"; }else { echo "<a href='?page=$i' style='padding: 5px;'>$i</a>"; } } ?> </div> </body> </html>
PHP 原生操作 Mysql 分页数据案例
最新推荐文章于 2021-02-28 21:18:46 发布