PHP中如何实现数据分页和分页导航?

引言

在开发网站时,我们经常需要展示大量的数据。但是,如果将所有数据都展示在一个页面上,不仅会导致页面加载缓慢,还会给用户带来极差的使用体验。因此,我们需要使用分页来将数据分散到多个页面中,同时提供分页导航方便用户切换页面。本文将介绍如何使用PHP实现数据分页和分页导航。

分页实现

分页实现的核心是计算出需要展示的数据的起始位置和数量。常见的计算公式为:

    SELECT * FROM table_name LIMIT $start, $page_size;

其中,$start为起始位置,$page_size为每页展示的数据数量。$start可以通过当前页码和每页展示数据数量计算出来,而$page_size可以根据需求设置。

接下来,我们可以使用PHP的mysqli扩展来执行SQL语句并获取需要的数据。具体实现如下:

    $mysqli = new mysqli("localhost", "username", "password", "database_name");
    $page_size = 10; //每页展示10条数据
    $current_page = isset($_GET["page"]) ? $_GET["page"] : 1; //获取当前页码,默认为第一页
    $start = ($current_page - 1) * $page_size; //计算起始位置
    $sql = "SELECT * FROM table_name LIMIT $start, $page_size";
    $result = $mysqli->query($sql); //执行SQL语句,获取数据
    while ($row = $result->fetch_assoc()) {
        //展示数据
    }
    $result->free(); //释放结果集
    $mysqli->close(); //关闭数据库连接

分页导航实现

分页导航的实现需要计算出总页数,并根据当前页码展示相应的页码链接。常见的计算公式为:

    $total_page = ceil($total_count / $page_size);

其中,$total_count为数据总数。如果数据总数无法直接获取,可以执行以下SQL语句获取:

    SELECT COUNT(*) FROM table_name;

接下来,我们需要根据当前页码展示相应的页码链接。如果总页数较少,我们可以展示所有页码链接;如果总页数较多,我们可以展示部分页码链接,并在页码之间加上省略号。同时,我们还需要在当前页码链接上添加样式以便用户区分。具体实现如下:

    $total_count_sql = "SELECT COUNT(*) FROM table_name";
    $result = $mysqli->query($total_count_sql); //执行SQL语句,获取数据总数
    $total_count = $result->fetch_row()[0]; //获取数据总数
    $total_page = ceil($total_count / $page_size); //计算总页数
    $page_nav = ""; //分页导航HTML代码
    if ($total_page = $total_page - 4) {
            $page_nav .= "[_a0_]";
            $page_nav .= "...";
            for ($i = $total_page - 6; $i 

本文来源:词雅网

本文地址:https://www.ciyawang.com/vbsd9z.html

本文使用「 署名-非商业性使用-相同方式共享 4.0 国际 (CC BY-NC-SA 4.0) 」许可协议授权,转载或使用请署名并注明出处。

相关推荐