Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/mysql/69.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Php 如何使用mysql查询显示最近20条评论_Php_Mysql - Fatal编程技术网

Php 如何使用mysql查询显示最近20条评论

Php 如何使用mysql查询显示最近20条评论,php,mysql,Php,Mysql,我有一个注释表,其中存储了所有注释,我想显示最后20条注释 $query="SELECT * FROM comment WHERE answerid=$answerid ORDER BY time DESC LIMIT 20"; 它给了我最后20条,但从上到下,但我想让他们从下到上。这意味着最后的评论(按时间)应该显示在最后 我曾经 但这不起作用?$query=“SELECT*FROM comment WHERE answerid=$answerid ORDER BY time ASC” 如果

我有一个注释表,其中存储了所有注释,我想显示最后20条注释

$query="SELECT * FROM comment WHERE answerid=$answerid ORDER BY time DESC LIMIT 20";
它给了我最后20条,但从上到下,但我想让他们从下到上。这意味着最后的评论(按时间)应该显示在最后 我曾经

但这不起作用?

$query=“SELECT*FROM comment WHERE answerid=$answerid ORDER BY time ASC”

如果列id是自动递增的,则此操作可以正常工作。 您还可以在代码中将DESC更改为ASC

试试看:

SELECT * FROM (
    SELECT * FROM comment WHERE answerid=$answerid ORDER BY time DESC LIMIT 20
) d ORDER BY time

DESC
更改为
ASC LIMIT 0,20
@diEcho如何给出最后20个?BhuvanRikka然后返回什么?diEcho只给出前20个comment@diEcho它将返回前20条评论。他希望最后20条评论按升序排列。。罗斯·史密斯给出了正确的答案。请检查它,如果有200条评论,它只会给我前20条评论。在OP编辑他们的问题之前,没有
LIMIT 20
子句,这是正确的答案。现在这个答案已经无效了。不管我的查询给了我正确的结果,但相反的顺序它说“每个派生表都必须有自己的别名”…这是什么意思…?对不起,在“)”之后添加一个“d”,这个错误应该会消失。
ORDER BY id DESC LIMIT 20 
SELECT * FROM (
    SELECT * FROM comment WHERE answerid=$answerid ORDER BY time DESC LIMIT 20
) d ORDER BY time