这是我目前的代码:
$messages = mysqli_query($link, "SELECT `user`, `message` FROM `chat` ORDER BY `id` DESC LIMIT 10");
while($row = mysqli_fetch_array($messages)) {
echo "<strong>".$row['user'].":</strong> ".safe_out($row['message'])."<br />";
}
这将按照chat
表格的降序打印最后10条消息。我想要做的是按升序打印最后10条消息。
将DESC
更改为ASC
只打印出前10条消息,但我试图按升序打印最后10条消息。
我是否需要将mysqli_query结果放入数组并使用reverse
或者是否有更简单的方法?
由于
答案 0 :(得分:4)
您可以使用派生表按升序对最后10条消息进行重新排序
SELECT * FROM (
SELECT `id`, `user`, `message` FROM `chat` ORDER BY `id` DESC LIMIT 10
) t1 ORDER BY t1.id