4

我正在尝试为我网站上的用户创建一个即时消息框,如果用户进入另一个用户个人资料,他们可以在聊天框中写入并向其他用户发送即时消息,这很糟糕。

我无法让 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;
        } 

请有人可以告诉我我需要做什么才能让它工作吗?谢谢

4

0 回答 0