php实现数据库分页查询

数据库查询经常涉及到分页显示。
为了方便,我全部写在了一个文件里,具体实现的时候最好将他们分开。
同时也没有什么样式,就是一个简简单单的实现。
1.page_list.php:

<?php
include "conn.php";
// 设置每页显示条数
$pageSize = 2;
// 查询数据库记录总数
$res = mysqli_query(getConn(), "select count(*) from book");
$count = mysqli_fetch_row($res);
$count = $count[0];
// 设置最大页数
$max_page = ceil($count/$pageSize);
// 初始化页数
$page = isset($_GET['page'])?intval($_GET['page']):1;
$page = $page > $max_page ? $max_page : $page;
$page = $page < 1 ? 1 : $page;
// 每次起始查找位置
$lim = ($page - 1)*$pageSize;
// 每次查询从第$lim条开始,查询$pageSize条
$result_ = mysqli_query(getConn(), "select * from book limit {$lim}, {$pageSize}");
$query_result = array();
$i = 0;
// 将结果存放到$query_result
if (mysqli_num_rows($result_) > 0) {
    while ($row = mysqli_fetch_assoc($result_)) {
        $query_result[$i] = $row;
        $i++;
    }
}
?>

// 页面显示
<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <title>图书列表</title>
</head>
<body>
    <a href="select_limit.php?page=1">首页</a>
    <a href="select_limit.php?page=<?php echo ($page - 1) > 0 ? ($page - 1) : 1;?>">上页</a>
    <a href="select_limit.php?page=<?php echo ($page + 1) < $max_page ? ($page + 1 ) : $max_page; ?>">下页</a>
    <a href="select_limit.php?page=<?php echo $max_page ?>">尾页</a>
    <table border = "1">
        <tr><td>bookId</td><td>bookName</td><td>bookPrice</td><td>bookCount</td><td>Operation</td></tr>
        <?php foreach ($query_result as $it) { ?>
            <tr>
                <td><?php echo $it['bookid'];$id = $it['bookid']; ?>
                </td><td><?php echo $it['bookname'] ?></td>
                <td><?php echo $it['bookprice'] ?></td>
                <td><?php echo $it['bookcount'] ?></td>
                <td><a href="selectById.php?id=<?php echo $id;?>" target="select">修改</a>
                    <a href="5_10_deleteData.php?id=<?php echo $id;?>">删除</a></td>
            </tr>
        <?php } ?>
    </table>
</body>
</html>

2.conn.php

<?php
// 连接数据库函数
function getConn(){
    // 数据库MySQLi
    // 创建连接
    $conn = mysqli_connect("localhost", "root", "284513", "bookdb");
    // 检测连接
    if (!$conn) {
        die("连接失败: " . mysqli_connect_error());
    }
    return $conn;
}
?>
  • 3
    点赞
  • 20
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值