フォーラムを手伝っている友人がいます。このフォーラムには、禁止されたユーザー ID (整数)、禁止されたときの UNIX、および禁止されたユーザー (ユーザー ID/整数) のデータを SQL テーブルに格納するシャウトボックスもあります。そのデータはshoutbox
表にあります。フォーラムのモデレーターが、禁止されたユーザー、禁止されたユーザー、禁止された時期を確認できるページを作成しようとしています。テーブルは、ユーザーが禁止されているかどうかに応じて、禁止されているかどうかに応じて変数を格納するというデータの列を持つテーブルである
としましょう。このデータは 2 つの異なるテーブルにあります。users
chat_banned
1
0
shoutbox
ユーザーがいつ禁止されたかに関する情報と、禁止されたユーザーの ID と禁止を行ったユーザーの整数が含まれ、users
実際に禁止されているかどうかが示されます。
表だけの結果を単純に印刷できない理由shoutbox
は、ユーザーが禁止解除された可能性があり、禁止解除されていないことを確認する唯一の方法は、表のchat_banned
列の変数を確認することだからです。以下を行うための非常に効率的な方法はありますか?users
- 禁止されたすべてのユーザーのある種の配列を構築します(便宜上、選択されている現在のデータは
userid
andusername
fromusers
です)。 - 彼/彼女を禁止したユーザーとそのユーザーがいつ禁止されたかを配列にリストします
- このリストを UNIX 時間で最近のものから古いものの順に並べ替えます。
私はすでに基本的なページ設定を行っているので、サンプルベース機能を見たい場合は、ここに投稿して、作成したページを簡単に編集してこれを効率的に完了する方法がないかどうかを確認してください。 .
ありがとう、ディジー。
編集:どのテーブルにどのような情報があり、それが何であるかをもう少し効率的にリストアップすると思いました。どうぞ:
users
chat_banned
(禁止されている場合は 1、禁止されていない場合は 0)
shoutbox
time
(コマンド実行時のUNIXタイムスタンプ)command
ban
(ユーザーの禁止、ユーザーの禁止unban
解除、edit
シャウトの編集の 3 つの可能なコマンドのコマンド ログ)userid
(userid
整数形式でコマンドを実行したモデレーターの)comment
userid
(禁止されているユーザーの整数)