サイトでユーザー用のインスタント メッセージ ボックスを作成しようとしていますが、ユーザーが別のユーザー プロファイルにアクセスすると、チャット ボックスに書き込み、他のユーザーにインスタント メッセージを送信できます。
ユーザー1がユーザー2にメッセージを送信した場合、ユーザー1とユーザー2のみが会話を見ることができるように、mysqlで結果を取得してフィルタリングするのに問題があります。
現時点では、ログインしているユーザーまたは「.$_SESSION['user_id'].」のみですが。会話を見ることができますが、両方のユーザーがお互いの会話を見ることができるようにしたいです。
もう 1 つの問題は、ユーザー 3 がユーザー 2 とユーザー 1 にメッセージを送信した場合、ユーザー 2 はユーザー 1 と 3 からすべての会話を取得しますが、ボックスごとに各ユーザー間の会話を 1 つだけしたいということです。
私のデータベース 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;
}
これを機能させるために何をする必要があるかを誰かに教えてもらえますか?ありがとう