0

こんにちは、サイトに 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 の値として挿入する方法が必要ですか?

これが理にかなっていることを願っています。助けていただければ幸いです。

4

1 に答える 1

1

問題全体が理解できないかもしれませんが、ユーザーが返信ボタンなどを押すと、ユーザーが返信するメッセージから to_user_id と from_user_id がわかりますよね?

別の注意として、このような一般的な機能のオープン ソース ソリューションをグーグルで検索することをお勧めします。

于 2013-03-27T20:35:13.603 に答える