我正在使用 MySQL 数据库在 PHP 中制作一个简单的留言板。我使用“LIMIT”操作将消息限制为每页 20 条。
我的网址的一个例子是:http://www.example.com/?page=1
如果未指定页面,则默认为 1。正如我之前提到的,每页有 20 个限制,但是如果超出可能的 30 个并且我希望查看第 2 页,我最终只会得到 10 个结果。在这种情况下,我的查询的 LIMIT 部分类似于LIMIT 20,40
- 在这种情况下如何确保返回 20?
我更愿意尝试尽可能多地将其保留在 MySQL 端。
编辑: 澄清一下,如果我在第 2 页,我将获取第 20-30 行,但是这只有 10 行,所以我希望选择 10-30。
编辑: 我目前正在使用以下查询:
我的查询:
SELECT MOD(COUNT(`ID`),20) AS lmt WHERE `threadID`=2;
SELECT * FROM `msg_messages` WHERE `threadID`=2 LIMIT 20-(20-lmt) , 40-(20-lmt) ;
有 30 条记录匹配。