在网站里面,如果要查询的数据太多,往往网页会变得很卡,所以要设置分页功能。

分页显示,将从mysql数据库取出的数据有规律的一段段展示,利用sql语句中的limit,将它的起始数据跟页数绑定,根据页数去数据库取数据


现在比如说我们要从table名为fox的表里面取数据,一页十条。

第1页   select * from fox limit 0,10;
第2页   select * from fox limit 10,10;
第3页   select * from fox limit 20,10;

那么第几N页就是

select * from fox limit (n-1)*10,10;

是不是很通俗易懂

所以,代码可以这么写:

select * from fox limit ($page-1)*$pagesize,$pagesize; $page是当前的页数,$pagesize是每页取得条数

代码(百度抄的,用的时候自己优化函数):

$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;?>页