我在 PHP 和 MySQL 中使用分页来查看下一条/上一条记录。查询如下:
$domain_id = 1;
$user_id = 8;
$limit = 5;
$sql =
'SELECT users.user, users.id FROM users
JOIN users_matched_domain ON
users.id = users_matched_domain.user_id AND
users_matched_domain.domain_id = '.$domain_id.' AND
users.id < "'.$user_id.'"
ORDER BY users.id ASC LIMIT '.$limit;
用户表如下:
id user
== ===
1 a
2 b
3 c
4 d
5 e
6 f
7 g
8 h
9 i
10 j
11 k
. .
. .
上面的查询效果不佳,它从 user_id 表中的第一个 ID 开始带来用户 ID。即行 ID(1 到 5),它应该给出 (3,4,5,6,7),因为它们小于用户 ID 8。同时,当我按如下方式更新上述查询时:
users.id > "'.$user_id.'"
然后分页工作正常(下一个,下一个,下一个),我得到 1-5,然后是 6-10、11-15,等等。
非常感谢您的提示。感谢您的帮助。
最佳答案
你需要一个desc
排序到您正在查看的内容之前的五个:
. . .
ORDER BY users.id DESC . . .
换句话说,您希望排序为 desc
对于 <
和 asc
对于 >
.
关于php - MySQL "less than"运算符没有带来正确的结果,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/25220424/