无法使用php查询对齐用户聊天
我有一个名为“user_chats”的下表,其中包含以下列和数据无法使用php查询对齐用户聊天,php,chat,Php,Chat,我有一个名为“user_chats”的下表,其中包含以下列和数据 id - message_id - from_user_id - for_user_id - message - time_sent 1 sW2ja_29s 11 20 Hi 2:00am 2 sW2ja_29s 20 11 Hello 2:02pm 我发现很难将登录用户(id为11)
id - message_id - from_user_id - for_user_id - message - time_sent
1 sW2ja_29s 11 20 Hi 2:00am
2 sW2ja_29s 20 11 Hello 2:02pm
我发现很难将登录用户(id为11)发送的消息和其他用户(id为20)发送的消息与我的查询对齐,就像Facebook和其他社交网络一样。下面是我写的一个查询,在无法解决问题后,获取两个用户之间的聊天记录
<?php
$message_id = $_GET['msg_id'];
$query = "SELECT * FROM users_chats WHERE message_id = ? ORDER BY time_sent ASC";
$stmt = mysqli_prepare($db, $query);
mysqli_stmt_bind_param($stmt, "s", $message_id);
mysqli_stmt_execute($stmt);
$result = mysqli_stmt_get_result($stmt);
while ($row = mysqli_fetch_array($result, MYSQLI_ASSOC)) {
$chats = $row['message'];
}
// chats
echo $chats;
?>
首先,您的
循环是冗余的。
在while
循环中,您仅将结果最后一个元素的消息值分配给$chat
要解决此问题,您需要接收邮件的人或发送邮件的人提供一个标识符,以便将邮件向右或向左移动。您的html在哪里?很抱歉,但是通过向$chats
添加一个css样式的代码,比如float right/float left,我只会让所有消息与右/左对齐@亚历克斯