Examples to explain how to use php to implement paging function

PHPz
Release: 2023-04-04 12:46:01
Original
640 people have browsed it

For a website with a lot of data, pagination is one of the indispensable functions. Using PHP pagination allows us to easily process and present large amounts of data, improve user experience, and naturally becomes an important part of PHP development.

The implementation of paging function generally includes several aspects: providing page templates, determining the number of data on each page, determining the total number of pages, and realizing page turning according to user needs. Below, we'll walk through each of these steps.

Provide page templates

The implementation of the paging function requires calling the HTML page, so we need to implement a basic HTML page template in PHP, for example:

<!DOCTYPE html>
<html>
<head>
    <title>分页功能实战</title>
</head>
<body>
    <!-- 页面内容 -->
    <div>
        <h2>PHP 分页演示</h2>
        <!-- 分页代码位置 -->
        <!-- 呈现数据的位置 -->
    </div>
    <!-- 分页代码位置 -->
    <div>
        <!-- 分页代码部分 -->
    </div>
</body>
</html>
Copy after login

In this basic In the HTML page, we need to use code blocks written in PHP to call data and generate pagination. Below are the code blocks that each page must contain.

Arrange the data displayed on each page

To implement paging, we need to determine the amount of data presented on each page. This number can be set manually in the background or dynamically according to user needs. For example, we set up to render 10 pieces of data per page. Then, the corresponding data can be presented based on the current page number. The code is as follows:

// 初始化每页显示的数量
$per_page = 10;
// 计算偏移量
if(isset($_GET["page"])) {
    $page = $_GET["page"];
} else {
    $page = 1;
}
$start_from = ($page-1) * $per_page;
// 查询数据库获取数据
$sql = "SELECT * FROM jobs LIMIT $start_from, $per_page";
$result = mysqli_query($conn, $sql);
Copy after login

Here, we use the LIMIT keyword of the SQL statement to filter out relevant data.

Determine the total number of pages

One of the cores of paging is to determine the total number of pages. This amount can be found by querying the total number of data and dividing by the number of data displayed per page. The code is as follows:

// 获取数据总量
$total_pages_sql = "SELECT COUNT(*) FROM jobs";
$result = mysqli_query($conn, $total_pages_sql);
$total_rows = mysqli_fetch_array($result)[0];
$total_pages = ceil($total_rows / $per_page);
Copy after login

Here, we use the COUNT keyword of the SQL statement to obtain the total number of data, and use the PHP ceil() function to achieve rounding up. This code also uses the previously determined amount of data per page and the code to calculate the offset.

Page turning according to user needs

The last step is to realize page turning according to user needs. This can be achieved by adding page jump links to the HTML page. For example, we can select a page to visit via a link. The code is as follows:

// 显示跳转链接
echo "<div id=&#39;pagination&#39;>";
echo "<a href=&#39;index.php?page=1&#39;>".'First Page'."</a> ";
for ($i=1; $i<=$total_pages; $i++) {
    echo "<a href=&#39;index.php?page=".$i."&#39;>".$i."</a> ";
};
echo "<a href=&#39;index.php?page=$total_pages&#39;>".'Last Page'."</a> ";
echo "</div>";
Copy after login

In this code, we generate a series of jump links based on the total number of pages, and write a regular expression to process the highlighting of the current page number. In this way, users can freely turn pages as needed.

The above are the steps to implement PHP paging. Simple design and writing allow you to easily process and present large amounts of data, improving user experience.

The above is the detailed content of Examples to explain how to use php to implement paging function. For more information, please follow other related articles on the PHP Chinese website!

source:php.cn
Statement of this Website
The content of this article is voluntarily contributed by netizens, and the copyright belongs to the original author. This site does not assume corresponding legal responsibility. If you find any content suspected of plagiarism or infringement, please contact admin@php.cn
Popular Tutorials
More>
Latest Downloads
More>
Web Effects
Website Source Code
Website Materials
Front End Template