在网站中,假如list页内容太多,平常会设置分页功用,本日我们一起来研究一下分页道理,经由过程一个小案例完成这个功用.
分页道理
分页显现,将从mysql数据库掏出的数据有规律的一段段展现,应用sql语句中的limit,将它的肇端数据跟页数绑定,依据页数去数据库取数据。
比方:假定数据库表名为list,每页取10条信息
第1页 select * from list limit 0,10; 第2页 select * from list limit 10,10; 第3页 select * from list limit 20,10; 由此观之第n页 是select * from list limit (n-1)*10,10;
如许我们就获得了一个用页数取数据的公式:
select * from list limit ($page-1)*$pagesize,$pagesize; $page是当前的页数,$pagesize是每页获得条数
须要的学问点
1、基础的操纵数据库函数
1.1 、mysqli_connect();衔接数据库,比方$link = mysqli_connect('127.0.0.1','root',12345678,'bbs');
1.2、 mysqli_query():猎取数据 比方$res = mysqli_query($link,"select * from list");第二个参数为sql语句
1.3、 mysqli_num_rows():检察猎取了若干条数据 比方 $num = mysqli_num_rows($res);
1.4 、mysqli_fetch_assoc(),或许mysqli_fetch_row():从猎取的数据鸠合取一条数据,每次只取一条,取完指针就指向下一条。比方mysqli_fetch_assoc($res),除了fetch_assoc,fetch_row另有fetch_array
1.5 、limit 操纵数据库中数据的,limit 最先位置,操纵条数 比方从数据库中取数 select * from list limit 10,10;
2、其他相干学问
2.1 $_SERVER['REQUEST_URI']猎取当前页面的url 比方https://i.cnblogs.com/EditPosts.aspx?opt=1的url为/EditPosts.aspx?opt=1 2.2 parse_url():剖析url,返回url的各个组成部份,假如不写第二个参数,返回的数组中能够的键有以下几种: scheme - 如 http, host port user pass path query - 在问号 ? 以后 fragment - 在散列标记 # 以后
完成流程:
1.猎取当前url字符串,并用parse_url剖析获得url数组
2.衔接服务器,猎取list页将要展现的内容鸠合,统计统共展现的条数,进而算出统共若干页内容
3.推断页面是不是是提交状况,假如不是默以为第一页$pageval
4.将盘算的limit肇端位置赋值给变量$page
5.运用$page和$pageSize去数据库取数据
6.轮回方便得数据鸠合,输出展现在页面上
细致代码:
$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;?>页
引荐教程:PHP视频教程
以上就是PHP怎样分页的细致内容,更多请关注ki4网别的相干文章!