Home >Backend Development >PHP Problem >How to set up paging display in php
How to set up paging display in php
Principle of paging
Paging display, the data taken out from the mysql database is displayed in regular sections. Use the limit in the sql statement to bind its starting data to the number of pages, and fetch the data from the database according to the number of pages.
For example : Assume that the database table name is list, and 10 pieces of information are fetched from each page
第1页 select * from list limit 0,10; 第2页 select * from list limit 10,10; 第3页 select * from list limit 20,10;
From this point of view, the nth page is select * from list limit (n-1)*10,10;
In this way we get a formula to get data using the number of pages:
select * from list limit ($page-1)*$pagesize,$pagesize; $page is the current page Number, $pagesize is the number of items obtained per page
Required knowledge points
1. Basic operation database functions
1.1 mysqli_connect(); Connect to the database, for example $link = mysqli_connect('127.0.0.1','root',12345678,'bbs');
1.2 mysqli_query(): Get data for example $res = mysqli_query ($link, "select * from list"); The second parameter is the sql statement
1.3 mysqli_num_rows(): Check how many pieces of data have been obtained. For example, $num = mysqli_num_rows($res);
1.4 mysqli_fetch_assoc(), or mysqli_fetch_row(): Get a piece of data from the obtained data set, only one piece at a time, and the pointer will point to the next piece after fetching. For example, mysqli_fetch_assoc($res), in addition to fetch_assoc, fetch_row and fetch_array, Please refer to the manual for their specific differences
1.5 limit is used to operate data in the database, limit is the starting position, and the number of operations. For example, fetching numbers from the database select * from list limit 10,10;
2. Other related knowledge
2.1 $_SERVER['REQUEST_URI'] gets the url of the current page. For example, the url of https://i.cnblogs.com/EditPosts.aspx?opt=1 is /EditPosts. aspx?opt=12.2 parse_url(): parses the url and returns each component of the url. If the second parameter is not written, the possible keys in the returned array are as follows:
scheme - Such as http,
host
port
user
pass
path
query - after the question mark?
fragment - after the hash symbol
#Implementation process
1. Get the current url string and parse it with parse_url to get the url array
2. Connect to the server and get the list page to be displayed Content collection, count the total number of displayed items, and then calculate the total number of pages of content
3. Determine whether the page is in submission status, if not, the default is the first page $pageval
4. Calculate Assign the starting position of the limit to the variable $page
5. Use $page and $pageSize to fetch data from the database
6. Loop through the convenient data collection, and the output is displayed on the page
The specific code is as follows
$url = $_SERVER['REQUEST_URI']; $url = parse_url($url); $url = $url['path']; $pageSize = 4;//连接服务器$link = mysqli_connect('127.0.0.1','root',12345678,'bbs'); $res = mysqli_query($link,'select * from fenye'); $num = mysqli_num_rows($res); $pageNum = ceil($num/$pageSize);//判断页面是否是提交状态if ( isset($_GET['page']) && $_GET['page'] >1) { $pageVal = $_GET['page']; }else { $pageVal = 1; }//计算起始位置$page = ($pageVal-1)*$pageSize;//去数据库取数据$res = $mysqli_query($link,"select * from fenye limit $page,$pageSize");//如果$res有值,则循环便利结果展示输出在页面if ($res) { while( $row = mysqli_fetch_assoc($res) ) { echo $row['name']. '|'.$row['age'].'<br/>'; } }//html添加页数部分<a href="?page=1">1</a>; <a href="?page=2">2</a>; <a href="?page=3">3</a>; <a href="?page=4">4</a>; <a href="?page=5">5</a>; 总共<?php echo $pageNum; ?>页,当前在<?php echo $pageVal;?>页
Recommended tutorial: "PHP Tutorial"
The above is the detailed content of How to set up paging display in php. For more information, please follow other related articles on the PHP Chinese website!