私は次のクエリを持っています:
SELECT a.name_f, a.uid, a.name_l, a.profile_pic, b.position FROM users a groups_members b, WHERE a.uid = b.userid AND b.group_id=$group_var
これはうまく機能し、すべてのユーザーの情報と、私が呼び出したい特定のグループのグループ内でのユーザーの位置を返します。グループがイベントに参加するとき、そのイベントページで、上記の関数を呼び出しますが、そのユーザーが確認されているかどうかを確認する追加のステートメントも呼び出します。だから私は次のクエリを実行します:
SELECT a.name_f, a.uid, a.name_l, a.profile_pic, b.position, c.confirmed FROM users a groups_members b, event_users c WHERE a.uid = b.userid AND b.group_id='$group_var' and c.event_id ='$event_var' and a.uid = c.userid
これもうまく機能しますが、ここで問題が発生します。特定のグループがイベントを作成し、その後、すべてのユーザーがevent_usersテーブルにダンプされたと仮定します。2番目のクエリは引き続き機能し、そのグループ内のすべてのユーザーとそのユーザーおよび確認済みの設定が表示されますが、新しいユーザーがグループに参加して自分の位置を選択すると、その新しいユーザーは2番目のクエリでは返されません。すべてのユーザーとその位置を表示するイベントでは、イベントの作成後に追加された新しいユーザーは考慮されません。
それがあまり混乱しないように聞こえることを願っています。これが私のテーブルです:
event_users || id, event_id, userid, confirmed
groups_members || id, userid, group_id, position
users || uid, name_f, name_l, profile
私の質問は、基本的に現在のすべてのグループメンバーを収集し、その後、それらがevent_usersテーブルに入力されている場合、それらの確認済みステータスをどのように収集できるかです。新しいユーザーを説明し、グループが持っているイベントにそれらを入れるグループページでクエリを実行したくありません