我正在尝试为我网站上的用户创建一个即时消息框,如果用户进入另一个用户个人资料,他们可以在聊天框中写入并向其他用户发送即时消息,这很糟糕。
我无法让 mysql 获取结果并对其进行过滤,以便如果用户 1 向用户 2 发送消息,则只有用户 1 和用户 2 可以看到对话。
目前虽然只有登录用户或“.$_SESSION['user_id']”。可以看到对话,但我希望两个用户都能看到彼此之间的对话。
另一个问题是,如果用户 3 向用户 2 和用户 1 发送消息,那么用户 2 会从用户 1 和用户 3 获得所有对话,但我只希望每个用户在每个盒子之间进行一次对话。
我的数据库 ptb_chats 如下所示:
id | to_user_id | from_user_id | date_added| content |
2 2 1 April 2011 hello
这是我的php:
<?php
$chat_set = get_chats();
while ($chat = mysql_fetch_array($chat_set)) { ?>
<?php echo "<div class=\"chat_row\">".$chat['content']."</div>"; ?>
<? } ?>
这是我的mysql:
function get_chats() {
global $connection;
global $profile_id;
$query = "SELECT *
FROM ptb_chats, ptb_profiles
WHERE ptb_profiles.user_id = ptb_chats.from_user_id
AND ptb_chats.to_user_id=".$_SESSION['user_id']."
ORDER BY ptb_chats.date_added ASC";
$chat_set = mysql_query($query, $connection);
confirm_query($query, $connection);
return $chat_set;
}
请有人可以告诉我我需要做什么才能让它工作吗?谢谢