对不起,标题很模糊。
基本上,我被一些东西困住了。我有一个充足的工作脚本,其中列出了两个表。
它提取事件列表
事件 1
事件 2
事件 3
事件 4
事件 5
事件 6
现在,用户需要“整体”活动的 T 恤。他们是志愿者,他们有 T 恤。当他们提交可以帮助管家的活动时,他们会选择他们的 T 恤尺码,以便我订购。
然后我得到一个清单
事件 1:
小 = 计数
中 = 计数
大 = 计数
当志愿者输入他们的 T 恤尺寸时,它会保存在他们的个人资料中。这些事件存储在一个称为事件的表中。
但是,那部分并不重要。我可以很容易地把它列在上面,并且在一定程度上它确实是正确的。问题是,假设我有一个叫 Bob 的志愿者。Bob 的 T 恤尺码偏小。他只是为活动 1 做志愿者。没有其他志愿者进入他们可以提供帮助的日子。所以我会列出所有事件,唯一等于 0 的区域是
事件 1 - 小 = 1,中 = 0,大 = 0 事件 2 - 小 = 0,中 = 0,大 = 0 等等......
无论如何,假设 Bob 决定在事件 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 = 101
EventID = 4
帮助 = 0
ETC...
== 我想做什么 ==
如果用户 Bob 已在事件 1 中列出 - 我不需要将他计入任何其他事件。计数是为了让我可以在每个活动中分发正确数量的 T 恤。所以它可能会告诉我我需要 50 个小号、10 个大号、40 个中号。
如果 Bob 参加活动 1,那么他会得到他的 T 恤,所以他不需要我在任何其他活动中带另一件(因此被计算在内)。
所以,我基本上需要它只在 num_rows 计数中加 1,如果“Bob”对于任何以前的事件都没有“Helping='1'”。
我希望我已经解释得足够好。
任何人都可以帮忙吗?