申し訳ありませんが、タイトルは非常にあいまいです。
基本的に、私は何かで立ち往生しています。2つのテーブルからリストする十分な作業スクリプトがあります。
イベントのリストを取得します
イベント1
イベント2
イベント3
イベント4
イベント5
イベント6
今、ユーザーは「全体的な」イベントのためにTシャツを必要としています。彼らはボランティアで、Tシャツを持っています。彼らがスチュワードを助けることができるイベントを提出するとき、彼らは私がそれらを注文できるように彼らのTシャツのサイズを選びます。
次にリストを取得します
イベント1:
小=
中カウント=
大カウント=カウント
ボランティアがTシャツのサイズを入力すると、プロフィールに保存されます。イベントは、eventsというテーブルに保存されます。
ただし、その部分は重要ではありません。私はそれを上記のように簡単にリストに載せることができ、ある程度は正しくカウントされます。問題は、ボブというボランティアがいると言うことです。ボブのTシャツのサイズは小さいです。彼はイベント1にのみボランティアをしています。他のボランティアはまだ彼らが助けることができる日に参加していません。したがって、すべてのイベントがリストされ、0以外に等しい領域は
イベント1-小=1、中= 0、大=0イベント2-小=0、中= 0、大=0など...
とにかく、ボブがイベント1、2、3、5で支援することにしたとしましょう。
次に、イベント1-小= 1、中= 0、大=0
イベント2-小=1、中= 0、大=0
イベント3-小=1、中= 0、大=0
イベント4-小= 0、中= 0、大=0
イベント5-小=1、中= 0、大=0
イベント6-小=0、中= 0、大=0
クエリは基本的に
SELECT u.id, u.userid, u.eventid, u.helping, i.userid, i.tshirt_size FROM helpers AS u LEFT JOIN profiles AS i ON u.userid=i.userid WHERE `eventid`='$eventid' AND u.helping='1' AND i.tshirt_size='$size'
次に、getTShirtCount( "eventid"、 "Small");のような関数でそれをエコーします。
イベントIDは、MySQL Fetch Arrayループによって取得され、データベースにあるイベントをループします(これは、イベントIDが取得される場所でもあります)。
イベント1=ID:1
イベント2 = ID:2
など。
支援できるイベントを送信すると、UserID = 101 EventID = 1
Helping = 1
UserID = 101
EventID = 2
Helping = 1
UserID = 101
EventID
= 3
Helping = 1
UserID = 101EventIDのような「ヘルパー」テーブルに入ります。
=4
支援=0
等...
==やりたいこと==
ユーザーのBobがイベント1-にリストされている場合、他のイベントで彼をカウントする必要はありません。カウントは、配布する各イベントに正しい量のTシャツを持参できるようにするためです。だから、私は50の小、10の大、40の中が必要だと私に言うかもしれません。
ボブがイベント1に参加している場合、彼はTシャツを受け取るので、他のイベントで別のTシャツを持ってくる必要はありません(したがって、カウントされます)。
したがって、「Bob」に以前のイベントの「Helping = '1'」がない場合は、基本的にnum_rowsカウントに1を追加するだけで済みます。
私はそれを十分に説明したと思います。
誰か助けてもらえますか?