php - MySQL "less than"运算符没有带来正确的结果

标签 php mysql

我在 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/

相关文章:

php - Symfony 4.3 : User Deprecated: The Symfony\Bundle\TwigBundle\Loader\FilesystemLoader class is deprecated since version 4. 3 并将在 5.0 中删除...

Wordpress 帖子中的 PHP - 这可以吗?

php - 连接多个表但不是全部

php - 如何在 WordPress 中设置 Widgetkit 插件的数据库?

mysql错误1364字段没有默认值

mysql - mySQL 上的 SQL 连接查询帮助

php - PDO::query 与 PDOStatement::execute(PHP 和 MySQL)

php - 如何从 PHP 脚本在 joomla 3.0 中插入和发布新闻

php - 我的查询没有返回正确的计数

mysql - 从一个表的单个记录中动态查询多个项目