Blogger Information
Blog 44
fans 0
comment 0
visits 35566
Popular Tutorials
More>
Latest Downloads
More>
Web Effects
Website Source Code
Website Materials
Front End Template
员工信息表分页显示功能-2019年2月28日
的博客
Original
1274 people have browsed it

分页显示的原理:

需要现获取数据表的行数,再套用公式 {(当前页数-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>


Correction status:Uncorrected

Teacher's comments:
Statement of this Website
The copyright of this blog article belongs to the blogger. Please specify the address when reprinting! If there is any infringement or violation of the law, please contact admin@php.cn Report processing!
All comments Speak rationally on civilized internet, please comply with News Comment Service Agreement
0 comments
Author's latest blog post