php - PHP 和 MYSQL 中的 IM 聊天系统?

标签 php mysql

您好,我正在尝试在我的网站上设置 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/

相关文章:

mysql - Hibernate 异常位置超出声明的序数参数的数量

php - 使用连接语句和子查询的 CakePHP 查询准备

php - 建立 MySQL 数据库连接 IIS10 的 WordPress 错误

php - 如何在 Laravel 中使用多个数据库

mysql - 如何将不同类型用户的登录详细信息保存到一张表中

php - 使用 url 根据值过滤 json 结果

php - Codeigniter 3 - 如何从 URL 中删除函数名称

javascript - ajax post提交后获取服务器响应

php - 实时抓取彩票开奖数据 - 我能找到合适的结果吗?如何整合这么多来源?

SQL 'LIKE' 语法