为了账号安全,请及时绑定邮箱和手机立即绑定

显示具体编号 每页的行数?

显示具体编号 每页的行数?

PHP
烙印99 2021-08-28 17:22:27
我想显示特定的编号。每页记录数?下面的代码用于分页。我试图每页显示 2 条记录。成功在第一页显示两条记录。问题开始发生在下一页。目前我有 10 条记录。它会像这样显示第 1 页 = 2 条记录。    +---+---------+------------------+-------+    |No.| File ID | File Desc.       |Status |    +---+---------+------------------+-------+    |1  | 400/4   | 1 - Test 1 400/4 |       |    +---+---------+------------------+-------+    |2  | 400/1   | 5 - Test 5 400/1 |       |    +---+---------+------------------+-------+第 2 页 = 4 条记录(2 条记录 + 第 3 页的 2 条记录)    +---+---------+------------------+-------+    |No.| File ID | File Desc.       |Status |    +---+---------+------------------+-------+    |1  | 400/3   | 2 - Test 2 400/3 |       |    +---+---------+------------------+-------+    |2  | 400/3   | 1 - Test 1 400/3 |       |    +---+---------+------------------+-------+    |3  | 400/2   | 3 - Test 3 400/2 |       |    +---+---------+------------------+-------+    |4  | 400/2   | 2 - Test 2 400/2 |       |    +---+---------+------------------+-------+第 3 页 = 6 条记录(2 条记录 + 第 4 页的 2 条记录 + 第 5 页的 2 条记录)    +---+---------+------------------+-------+    |No.| File ID | File Desc.       |Status |    +---+---------+------------------+-------+    |1  | 400/2   | 3 - Test 3 400/2 |       |    +---+---------+------------------+-------+    |2  | 400/2   | 2 - Test 2 400/2 |       |    +---+---------+------------------+-------+    |3  | 400/2   | 1 - Test 1 400/2 |       |    +---+---------+------------------+-------+    |4  | 400/1   | 3 - Test 3 400/1 |       |    +---+---------+------------------+-------+    |5  | 400/1   | 2 - Test 2 400/1 |       |    +---+---------+------------------+-------+    |6  | 400/1   | 1 - Test 1 400/1 |       |    +---+---------+------------------+-------+第 4 页 = 4 条记录(2 条记录 + 第 5 页的 2 条记录)。
查看完整描述

2 回答

?
浮云间

TA贡献1829条经验 获得超4个赞

问题是你没有在你的 sql 查询中更新你的开始或偏移量。如果偏移量是正确的,它只会获取你需要的某些记录集。带有偏移量的 sql 查询示例:下面的 SQL 查询表示“仅返回 2 条记录,从记录 1 (OFFSET 0) 开始”:


$page=0;

$per_page = 2;

$offset=$page*$per_page; //0


$sql = "SELECT * FROM Orders LIMIT 2 OFFSET 0";

当您单击下一页时,应更新开始/偏移量


$page=1;

$per_page = 2;

$offset=$page*$per_page; //2


$sql = "SELECT * FROM Orders LIMIT 2 OFFSET 2";

单击第三页代码将更新为


$page=2;

$per_page = 2;

$offset=$page*$per_page; //4


$sql = "SELECT * FROM Orders LIMIT 2 OFFSET 4";

等等...


所以 sql 语句应该是这样的:


$sql = "SELECT * FROM Orders LIMIT $per_page OFFSET $offset";

或者


您还可以使用更短的语法来实现相同的结果:


$sql = "SELECT * FROM Orders LIMIT $offset, $per_page"


查看完整回答
反对 回复 2021-08-28
  • 2 回答
  • 0 关注
  • 190 浏览

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信