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.
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>
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.
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);
Here, we use the LIMIT keyword of the SQL statement to filter out relevant data.
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);
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.
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='pagination'>"; echo "<a href='index.php?page=1'>".'First Page'."</a> "; for ($i=1; $i<=$total_pages; $i++) { echo "<a href='index.php?page=".$i."'>".$i."</a> "; }; echo "<a href='index.php?page=$total_pages'>".'Last Page'."</a> "; echo "</div>";
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!