登录  /  注册
博主信息
博文 44
粉丝 0
评论 0
访问量 34432
热门教程
更多>
最新下载
更多>
网站特效
网站源码
网站素材
前端模板
员工信息表分页显示功能-2019年2月28日
的博客
原创
1238人浏览过

分页显示的原理:

需要现获取数据表的行数,再套用公式 {(当前页数-1)*每页应该显示的行数}得出的偏移量,使用SELECT中的LIMIT关键字可以限制每次查询结果集中的记录数量 (LIMIT 偏移量, 显示数量: 偏移量(offset)就是记录的位置索引,从0开始, 与数组类似)

# 假设每页显示5条记录

# 第1页,offset从0开始

SELECT * FROM staff LIMIT 0, 5;

# 第2页,offset从5开始

SELECT * FROM staff LIMIT 5, 5;

# 第3页,offset从10开始

SELECT * FROM staff LIMIT 10, 5;

<?php
// 从数据库获取员工数据
$page = isset($_GET['p'])? $_GET['p'] : 1; //页数变量,如果为空则为1

$pagenum = isset($_GET['pn']) ? $_GET['pn'] : 5;//每页显示记录的变量,默认为5
//echo $_SERVER['PHP_SELF'];

$pdo = new PDO('mysql:host=127.0.0.1;dbname=php', 'root', 'root');
//获取记录总行数
$stmt = $pdo->prepare('SELECT COUNT(*) FROM `staff`');
$stmt->execute();
$total = $stmt->fetchColumn(0);
//获取页数
$pages = ceil($total/$pagenum); //ceil()向上取整函数
//计算偏移量
$offset = ($page - 1) * $pagenum;
$stmt = $pdo->prepare("SELECT * FROM `staff` WHERE `is_show`=1 LIMIT {$offset},{$pagenum}");
$stmt->execute();
$staffs = $stmt->fetchAll(PDO::FETCH_ASSOC);
<p>
    <?php for ($index = 1;$index<=$pages;$index++):?>
        <a href="javascript:location.href='<?=$_SERVER['PHP_SELF']?>?p=<?=$index?>&pn=<?=$pagenum?>'" target="workspace"><?=$index?></a>
    <?php endfor;?>
</p>


批改状态:未批改

老师批语:
本博文版权归博主所有,转载请注明地址!如有侵权、违法,请联系admin@php.cn举报处理!
全部评论 文明上网理性发言,请遵守新闻评论服务协议
0条评论
作者最新博文
关于我们 免责申明 意见反馈 讲师合作 广告合作 最新更新
php中文网:公益在线php培训,帮助PHP学习者快速成长!
关注服务号 技术交流群
PHP中文网订阅号
每天精选资源文章推送
PHP中文网APP
随时随地碎片化学习
PHP中文网抖音号
发现有趣的

Copyright 2014-2024 https://www.php.cn/ All Rights Reserved | php.cn | 湘ICP备2023035733号

  • 登录PHP中文网,和优秀的人一起学习!
    全站2000+教程免费学