如何以相反的顺序显示 mysql_fetch_array 的结果?
How do I display results of a mysql_fetch_array in reverse order?
首先,我是 PHP/SQL 编程新手。我可能编码错误,或者 "the long way"。老实说,我不知道有什么区别。我只是想为一个有趣的项目制作一个基本的网络聊天室。目前,显示在房间中的消息按时间戳降序排列。最新消息显示在页面顶部。我想要的是在页面底部显示最新消息。我一次只显示 30 条消息。我不知道如何 "flip" 消息,以便最新的显示在底部。 (我希望这是有道理的)。这是我用来显示消息的内容:
$query = "SELECT * FROM roomdata ORDER BY timestamp DESC LIMIT 30 ";
$result = mysql_query($query);
if ($result) {
while($row= mysql_fetch_array($result)) {
// Check to see if the message was sent by a chatter
if ($row['sender']){
$publicmessage= '<b>['.$row['sender'].']</b> '.$row['message'];
}else{
// if not, it must have been sent by the server (ie: login message, server announcement, etc)
$publicmessage= $row['message'];
}
echo "$publicmessage <BR>";
}
}
谁能给我指出正确的方向?
如果我没有包含足够的信息,我深表歉意 - 我是新手。预先感谢您的宝贵时间!
您当然可以将所有内容放入 php 中的数组中,然后使用 array_reverse()
反转顺序(或者取末尾的项目直到它为空...)。对于纯 sql 解决方案,请查看 this question。
另一种解决方案 - 如果您的浏览器要求允许 - 将使用 flexbox 来显示项目并设置:
.container {
display: flex;
flex-direction: column-reverse;
}
这样你就可以让你的 php 脚本保持原样; html 中的顺序将相同,但在屏幕上将相反。
您还需要将您的项目包装在元素中,但无论如何列表比带换行符的纯文本更合适。
首先,我是 PHP/SQL 编程新手。我可能编码错误,或者 "the long way"。老实说,我不知道有什么区别。我只是想为一个有趣的项目制作一个基本的网络聊天室。目前,显示在房间中的消息按时间戳降序排列。最新消息显示在页面顶部。我想要的是在页面底部显示最新消息。我一次只显示 30 条消息。我不知道如何 "flip" 消息,以便最新的显示在底部。 (我希望这是有道理的)。这是我用来显示消息的内容:
$query = "SELECT * FROM roomdata ORDER BY timestamp DESC LIMIT 30 ";
$result = mysql_query($query);
if ($result) {
while($row= mysql_fetch_array($result)) {
// Check to see if the message was sent by a chatter
if ($row['sender']){
$publicmessage= '<b>['.$row['sender'].']</b> '.$row['message'];
}else{
// if not, it must have been sent by the server (ie: login message, server announcement, etc)
$publicmessage= $row['message'];
}
echo "$publicmessage <BR>";
}
}
谁能给我指出正确的方向?
如果我没有包含足够的信息,我深表歉意 - 我是新手。预先感谢您的宝贵时间!
您当然可以将所有内容放入 php 中的数组中,然后使用 array_reverse()
反转顺序(或者取末尾的项目直到它为空...)。对于纯 sql 解决方案,请查看 this question。
另一种解决方案 - 如果您的浏览器要求允许 - 将使用 flexbox 来显示项目并设置:
.container {
display: flex;
flex-direction: column-reverse;
}
这样你就可以让你的 php 脚本保持原样; html 中的顺序将相同,但在屏幕上将相反。
您还需要将您的项目包装在元素中,但无论如何列表比带换行符的纯文本更合适。