Paging effect is common in web pages, but how can we achieve paging? Today we have done two methods to achieve the paging effect.
First of all, we need to prepare a table in the database and insert data. These are all necessary prerequisites. Not much to say, as shown in the figure (the library name is jereh, the table name is n_content) :
Step analysis:
If we need paging, we need to use "select * from tableName limit num1,num2"; this is a limited query statement, followed by two parameters, num1 is the number to start searching from, and num2 is the number of information to be searched. For example, I want to search for three pieces of data: 2, 3, and 4, as shown in the following figure:
Related recommendations: "PHP Tutorial"
Okay, let’s start with the steps:
1. Create a function to Implement the function of limiting queries.
First of all, let’s think about it. To implement this function, we must first know the current number of pages and how many pieces of information we want to limit on a page. This can be passed in using formal parameters. Then,
We set pageNum to be the number of pages, and pageSize to display several pieces of data on one page. In the query statement "select * from tableName limit num1,num2",
num1 is (pageNum-1) *pageSize, num2 is pageSize, after understanding this relationship, it will be easy to handle. The code is as follows:
//分页的函数 function news($pageNum = 1, $pageSize = 3) { $array = array(); $coon = mysqli_connect("localhost", "root"); mysqli_select_db($coon, "jereh"); mysqli_set_charset($coon, "utf8"); // limit为约束显示多少条信息,后面有两个参数,第一个为从第几个开始,第二个为长度 $rs = "select * from n_content limit " . (($pageNum - 1) * $pageSize) . "," . $pageSize; $r = mysqli_query($coon, $rs); while ($obj = mysqli_fetch_object($r)) { $array[] = $obj; } mysqli_close($coon,"jereh"); return $array; }
In the above code, it is worth noting that a space must be added after limit, otherwise an error will occur;
2. Create a second function to display the total number of pages.
There are no new knowledge points in this. They are all knowledge points that have been written before. Let’s just look at the code.
//显示总页数的函数 function allNews() { $coon = mysqli_connect("localhost", "root"); mysqli_select_db($coon, "jereh"); mysqli_set_charset($coon, "utf8"); $rs = "select count(*) num from n_content"; //可以显示出总页数 $r = mysqli_query($coon, $rs); $obj = mysqli_fetch_object($r); mysqli_close($coon,"jereh"); return $obj->num; }
3. Call these two functions for preliminary processing.
We want to make the next page and the results of the next page. We need to use the get method to transfer data on this page. Then when we refresh the page, get will definitely not get the data, so we need to use Trinocular arithmetic, let’s look at the code.
<?php @$allNum = allNews(); @$pageSize = 3; //约定每页显示的信息条数 @$pageNum = empty($_GET["pageNum"])?1:$_GET["pageNum"]; @$endPage = ceil($allNum/$pageSize); //总页数 @$array = news($pageNum,$pageSize); ?>
4. Display on the page.
To display on the page, you need to use a foreach loop. The code is simple, see below:
<table border="1" style="text-align: center" cellpadding="0"> <tr> <td>编号</td> <td>新闻标题</td> <td>来源</td> <td>点击率</td> <td>发布日期</td> </tr> <?php foreach($array as $key=>$values){ echo "<tr>"; echo "<td>{$values->id}</td>"; echo "<td>{$values->title}</td>"; echo "<td>{$values->src}</td>"; echo "<td>{$values->indexs}</td>"; echo "<td>{$values->times}</td>"; echo "</tr>"; } ?> </table>
5. To achieve the effect of the previous page and the next page.
To achieve the page jump effect, we need to use the href attribute of the a tag. The address is "?pageNum =..." This pageNum is defined by ourselves. Since it is passed by get, in In the previous step, we have already used $_GET to accept the parameters, so we only need to pass the get parameters;
Homepage: "pageNum=1";
Previous page: " pageNum="
Next page:"pageNum="
Last page: "pageNum=";
Special attention is, "pageNum=" Be sure not to have a space after it. The code is as follows:
<a href="?pageNum=1">首页</a> <a href="?pageNum=<?php echo $pageNum==1?1:($pageNum-1)?>">上一页</a> <a href="?pageNum=<?php echo $pageNum==$endPage?$endPage:($pageNum+1)?>">下一页</a> <a href="?pageNum=<?php echo $endPage?>">尾页</a>
The total code is as follows:
分页 <table border="1" style="text-align: center" cellpadding="0"> <tr> <td>编号</td> <td>新闻标题</td> <td>来源</td> <td>点击率</td> <td>发布日期</td> </tr> <?php foreach($array as $key=>$values){ echo "<tr>"; echo "<td>{$values->id}</td>"; echo "<td>{$values->title}</td>"; echo "<td>{$values->src}</td>"; echo "<td>{$values->indexs}</td>"; echo "<td>{$values->times}</td>"; echo "</tr>"; } ?> </table>
The effect is as follows:
The above is the detailed content of How to achieve paging effect in php. For more information, please follow other related articles on the PHP Chinese website!

Hot AI Tools

Undresser.AI Undress
AI-powered app for creating realistic nude photos

AI Clothes Remover
Online AI tool for removing clothes from photos.

Undress AI Tool
Undress images for free

Clothoff.io
AI clothes remover

Video Face Swap
Swap faces in any video effortlessly with our completely free AI face swap tool!

Hot Article

Hot Tools

MinGW - Minimalist GNU for Windows
This project is in the process of being migrated to osdn.net/projects/mingw, you can continue to follow us there. MinGW: A native Windows port of the GNU Compiler Collection (GCC), freely distributable import libraries and header files for building native Windows applications; includes extensions to the MSVC runtime to support C99 functionality. All MinGW software can run on 64-bit Windows platforms.

SecLists
SecLists is the ultimate security tester's companion. It is a collection of various types of lists that are frequently used during security assessments, all in one place. SecLists helps make security testing more efficient and productive by conveniently providing all the lists a security tester might need. List types include usernames, passwords, URLs, fuzzing payloads, sensitive data patterns, web shells, and more. The tester can simply pull this repository onto a new test machine and he will have access to every type of list he needs.

EditPlus Chinese cracked version
Small size, syntax highlighting, does not support code prompt function

Dreamweaver Mac version
Visual web development tools

ZendStudio 13.5.1 Mac
Powerful PHP integrated development environment
