1

私はPHPの初心者プログラマーです。

ユーザーが 1 つのテーブルに、別のテーブルにメッセージが表示される単純なメッセージング サイトがあります。

(date, from user, to users, message, primary key, subject).

まず第一に、これがメッセージを保存する正しい方法かどうかわからないので、教えてください。

私が混乱しているのは、メッセージの表示です。

ページスクリプトで次のことを行います。

  • データベースに接続する
  • ユーザーを認証する
  • メッセージ テーブル内のすべてのメッセージを調べます(ここまでは問題ありません)。
  • to users フィールドを調べて、user がそれらの 1 人であるかどうかを確認します (配列に分割します。それらはすべて既にスペースで区切られています)。
  • そうである場合は、他のメッセージの宛先ユーザー フィールドに同じユーザーが含まれているかどうかを確認します。
    • そうである場合は、to users フィールドに同じユーザーを持つ他のユーザーとグループ化します (多次元配列の 2 番目の次元である可能性があります)。
    • そうでなければ、それを新しい「グループ」に入れます(多次元配列の次の最初の次元で)

次に、多次元配列の最初の次元のものだけを表示し、クリックすると残りのメッセージ (多次元配列のすべての 2 番目の次元) を別の場所に表示します。

誰かがコードの一部または役立つ Web サイトへのリンクを使用して、これらの手順を手伝ってくれる場合は、そうしてください。

4

1 に答える 1

2

Halfer の回答を拡張すると、問題は、「to users」列に複数のものを保存しようとしているということです。したがって、toUsers = 5,24,242 のような結果になります。これをデータベースから解析するのは非常に困難です。

代わりに、そのテーブルからその列を取り出し、「メッセージ ID、user_recoming」を持つ「メッセージ受信者」という新しいテーブルを作成します。次に、複数の行を持つことができ、このテーブルは次のようになります。

1、5

1、24

1、242

...

于 2013-09-10T22:49:32.123 に答える