好的,这就是诀窍.在查询中,我从名为messages的表中获得了正确的结果.(它按照相反的顺序获取按时间排序的最后10条消息)这里是查询:
$query = mysql_query("SELECT time, username, message
FROM messages ORDER BY time DESC LIMIT 10");
Run Code Online (Sandbox Code Playgroud)
而后来这些消息通过ajax打印在div中
while ($item = mysql_fetch_assoc($query)) {
echo $item['time']." - ".$item['username']." - ".$item['message'];
}
Run Code Online (Sandbox Code Playgroud)
但打印结果我只想按相反的顺序打印它们.提示:如果我在ORDER BY子句中使用ASC,则不会获得最后插入的消息.
这有可能在PHP内部吗?
存储您的数据而不是使用array_reverse,
while($row = mysql_fetch_assoc($result)){
$items[] = $row;
}
$items = array_reverse($items ,true);
foreach($items as $item){
echo $item['time']." - ".$item['username']." - ".$item['message'];
}
Run Code Online (Sandbox Code Playgroud)