您好,我正在尝试在我的网站上设置 IM 聊天系统,以便用户可以进入用户个人资料并向他们发送消息。
到目前为止,我所拥有的是用户 1 可以向用户 2 发送消息,并且用户 1 和用户 2 都可以在该框窗口中看到聊天内容。
我的数据库如下所示:
id | to_user_id | from_user_id | date_added | content
1 2 1 10/01/12 hello
我的 mysql 插入看起来像这样:
$sql = "INSERT INTO ptb_chats (id, to_user_id, from_user_id, content) VALUES (NULL, '".$profile_id."', '".$_SESSION['user_id']."', '".$chat_area."');";
mysql_query($sql, $connection);
$profile_id 存储用户所在的个人资料,因此它知道将消息发送给哪个用户,但是接收消息的用户也将在其个人资料中,因为这是聊天窗口所在的位置。
现在这会导致一个问题,因为用户 1 将进入用户 2 的个人资料,而用户 1 将输入一条消息。用户 2 将收到此消息,但如果用户 2 尝试回复用户 1,则由于用户 2 是从其个人资料回复,数据库中的 to_user_id 会存储其 $profile_id
因此,用户 2 发送回用户 1 的消息不会传递给用户 1,而是传递给用户 2。 to_user_id 被设置为用户所在的配置文件。
我需要一种方法来存储上一条消息中的 from_user_id 并在回复时将其插入为 to_user_id 的值?
我希望这是有道理的。希望有任何帮助,谢谢。
最佳答案
也许我没有明白整个问题,但是如果用户按下回复按钮左右,您将从用户回复的消息中知道 to_user_id 和 from_user_id,对吧?
另一方面,您可能需要在 Google 上搜索针对此类常见功能的开源解决方案。
关于php - PHP 和 MYSQL 中的 IM 聊天系统?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/15668580/