15621857753

php数据库操作之用户列表分页读取功能

来源:齐鲁建站 栏目:开发教程 阅读: 日期:2023-01-09

本文介绍了php数据库操作之用户列表分页读取功能,我们在控制页码的时候,都是通过URL地址栏传入页码值来实现的页码控制。在page.php后面接上页码的相关信息,我们就能够算出更多的有效信息。

上篇讲到了php数据库操作之后台读取会员列表功能代码的方法

下面来说说php用户列表分页读取功能的方法

直接上代码:

//连接数据库、判断错误和设置字符集
$conn = mysqli_connect('localhost', 'aaaaaa', 'aaaaaa', 'aaaaaa');
if (mysqli_errno($conn)) {
    mysqli_error($conn);
    exit;
}
mysqli_set_charset($conn, 'utf8');

//计算出分页所需的参数
//通过查询info表的count(id),得到总数$count
$count_sql = 'select count(id) as c from info';

$result = mysqli_query($conn, $count_sql);
$data = mysqli_fetch_assoc($result);

//得到总的用户数
$count = $data['c'];

//当前页 第一种写法
$page = isset($_GET['page']) ? (int) $_GET['page'] : 1;

/*
 * //当前页 第二种写法
if (isset($_GET['page'])) {
    $page = (int) $_GET['page'];
} else {
    $page = 1;
}
 */

//最后一页
//每页显示数
$num = 2;
//得到总页数
$total = ceil($count / $num);

//如果在分页时在第一页减一时,我们就让他为第一页
if ($page <= 1) {
    $page = 1;
}
//最后一页加一时,我们就让他为最后一页
if ($page >= $total) {
    $page = $total;
}

//分页的核心是通过SQL语句中的offset和num来控制每页显示数

$offset = ($page - 1) * $num;

$sql = "select id,Name,Password from info order by id desc limit $offset,$num";

$result = mysqli_query($conn, $sql);

if ($result && mysqli_num_rows($result)) {

    //存在数据则循环将数据显示出来
    echo '<table width="800" border="1">';
    while ($row = mysqli_fetch_assoc($result)) {

        echo '<tr>';
        echo '<td>' . $row['id'] . '</td>';
        echo '<td>' . $row['Name'] . '</td>';
        echo '<td>' . $row['Password'] . '</td>';
        echo '<td><a href="edit.php?id=' . $row['id'] . '">编辑用户</a></td>';
        echo '<td><a href="delete.php?id=' . $row['id'] . '">删除用户</a></td>';
        echo '</tr>';
    }

    //控制好URI中的分页值
    echo '<tr><td colspan="5">
        <a href="chaxun.php?page=1">首页</a>
        <a href="chaxun.php?page=' . ($page - 1) . '">上一页</a>
        <a href="chaxun.php?page=' . ($page + 1) . '">下一页</a>
        <a href="chaxun.php?page=' . $total . '">尾页</a>
        当前是第' . $page . '页  共' . $total . '页 </td></tr>';

    echo '</table>';

} else {
    echo '没有数据';
}

mysqli_close($conn);
展开