gpt4 book ai didi

php - 在使用 PHP 进行 MySQL JOIN 查询后显示结果

转载 作者:行者123 更新时间:2023-11-29 04:56:18 25 4
gpt4 key购买 nike

$sql = "SELECT messages.text, users.name FROM messages INNER JOIN users ON messages.user_id=users.id ORDER BY messages.ms_id DESC LIMIT 10";
$result = mysql_query($sql);
$rows = array();
while($row = mysql_fetch_array($result))
{
$rows[]=$row;
}
echo $rows[0][1].$rows[0][0];
/* for($i=0;$i<=10;$i++)
{

echo $rows[i][1].$rows[i][0];

}
*/

这个脚本应该显示聊天中的最后 10 条消息。我正在做的是从用户表中获取用户的姓名和消息表中的文本,我想在我的聊天窗口中显示它们.现在我只记录了 4 条消息,不知道这对整个脚本有何影响我也应该对此进行检查,但更大的问题是当我使用 echo $rows[0][1] .$rows[0][0]; 信息显示正确,但是当我尝试循环以便我可以显示最后 10 个(我尝试了评论的那个)时,什么都没有显示。我想至少当我使用这个循环时,我会看到 4 条记录的消息,但真正发生的是一个空白窗口。显然我在 $rows[] 中记录了信息并且可以回显它,但不明白为什么这个循环不完全可以工作。如果有人可以帮助我解决这个问题并检查消息是否少于 10,我将不胜感激。

谢谢。

莱伦附言这是经过编辑的脚本,感谢大家,我需要这个数组,否则最新的消息会显示在顶部,当我用它来显示聊天消息时,这不是一个选项。

 for($i=10;$i>=0;$i--)
{
if($rows[$i][1]!="" || $rows[$i][0]!="")
{
echo $rows[$i][1].' : '.$rows[$i][0];
echo "</br>";
}
}

最佳答案

即使只有 10 条记录,您的 FOR 循环也运行了 11 次。第二个子句应该是 <而不是 <= .加上 $缺少 i 变量。

例如,你真的不需要从行中创建一个数组,你可以通过名称引用字段:

while($row = mysql_fetch_array($result))
{
echo $row['name'] . ' says: ' . $row['message'] . '<BR>';
}

关于php - 在使用 PHP 进行 MySQL JOIN 查询后显示结果,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/6286024/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com