首页 > 解决方案 > 如何在php中的where子句,orderby和desc中通过user_id显示表中的用户数据

问题描述

我已经检查了对这个问题的回复:How to Group by user_id and order by desc,但它并没有为我澄清事情。这是我用来将消息检索到 ajax 通知区域的查询。

$query = "SELECT * FROM messages ORDER BY comment_id DESC LIMIT 10";

上面的查询完美运行。但我想按用户 ID 对其进行排序,因为上述查询会在一个用户通知区域显示所有用户消息。我为一位用户尝试了以下代码,它可以工作。

$query = "SELECT * FROM messages WHERE user_id=30 ORDER BY comment_id DESC LIMIT 10";

(是的,有一个 user_id 为 30 的用户)

但这没有意义,因为我想与大量显然具有不同会话 ID 的用户合作。然后我在下面尝试了这个:

$query = "SELECT * FROM messages WHERE user_id=$_SESSION['user'] ORDER BY comment_id DESC LIMIT 10";

我什至一次声明了一个变量$_SESSION['user']。同样在查询中,我以多种我能想到的方式尝试了 $_SESSION。像,. $_SESSION['user'] .(带点)

我知道我做错了什么,但我做错了什么,我不知道。

comment_id user_id comment_subject comment_text comment_status
1           30       test            test            0       
2           30       testa           test a          1       
3           20       testb           test b          1        

0 代表未读,1 代表在 comment_status 列下已读,当然还有 2 个不同的用户 ID。

标签: phpmysqlsqlwheresession-variables

解决方案


推荐阅读