0

我正在尝试使它像这样显示消息

*旧留言

早消息

较新的消息

最新消息*

我尝试了几种不同的方法。通过放

  SELECT * FROM place_chat WHERE whereto = '".mysql_real_escape_string($where)."' ORDER BY     id DESC LIMIT 7"

^ 但这只是在顶部显示最新消息的结果,所以我尝试了这个。

  SELECT * FROM place_chat WHERE whereto = '".mysql_real_escape_string($where)."' ORDER BY     id ASC LIMIT 7" 

^ 但后来我发布了它只会显示最旧的消息,而不是调整它的显示方式并确保并对其进行测试。它只显示最旧的消息。

有人可以解释一下这样做的方法吗?我一直在尝试这样做一段时间。

4

2 回答 2

2

您需要先获取最新的 7 条记录,然后对其重新排序:

SELECT *
FROM
(
    SELECT *
    FROM place_chat 
    WHERE whereto = mysql_real_escape_string($where)
    ORDER BY id DESC
    LIMIT 7
) newest_place_chat
ORDER BY id ASC
于 2012-07-14T16:49:43.403 回答
0

由于您设置了标签“php”,我假设您从 php 脚本中查询数据库,该脚本还将查询结果转换为输出,在这种情况下很可能是 html 表。

您可以简单地调转您在 php.ini 中遍历结果数组的顺序。这样您就不必更改查询中的任何内容。

于 2012-07-14T16:50:41.963 回答