죄송합니다. 제목이 매우 모호합니다.MySQL 및 PHP - 이전에 나열되지 않은 항목 만 나열하십시오.
기본적으로 나는 뭔가 붙어 있습니다. 두 테이블에서 나열된 충분한 작업 스크립트가 있습니다.
그것은 이벤트이벤트 1
이벤트 2
이벤트 3
이벤트 4
이벤트 5
이벤트 6
지금, 사용자가 T- 셔츠를 필요로의 목록을 가져옵니다
"전반적인"사건. 그들은 자원 봉사자이며 티셔츠를 가지고 있습니다. 청지기를 도울 수있는 행사를 제출할 때, 그들은 T 셔츠 크기를 선택하여 주문할 수 있습니다.
내가 다음 목록을
이벤트 1 :
작은 = 자원 봉사자가 자신의 티셔츠 사이즈를 입력하면
중간 =
대형 =
카운트 카운트 카운트, 그것은에 저장됩니다 자신의 윤곽. 이벤트는 이벤트라는 테이블에 저장됩니다.
그러나 그 부분은 중요하지 않습니다. 위와 같이 목록에 쉽게 표시 할 수 있으며 특정 정도까지 정확하다고 생각합니다. 문제는, 나는 Bob이라는 자원 봉사자가 있다고 말합니다. 밥의 티셔츠 사이즈는 작습니다. 그는 이벤트 1에 대해서만 자원 봉사 중입니다. 다른 자원 봉사자들도 그날을 알리지 않았으며, 그들은 아직 도움을받을 수 없습니다. 따라서 모든 이벤트가 나열되고 0 이외의 다른 부분과 동일한 유일한 영역은
이벤트 1 - 중 = 0, 중형 = 0, 대형 = 어쨌든 등 등 ....
0, 밥이 이벤트 1,2,3에 도움, 5
그런 다음 이벤트 1을 보여주는 결정 말 - 작은 = 1, 보통 = 0, Large = 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 ("이벤트 ID", "작은")와 같은 기능을 가진;
MySQL 데이터베이스 가져 오기 이벤트 루프는 이벤트 ID를 가져 오며 이벤트 ID는 데이터베이스에서 가져온 이벤트를 반복합니다.
이벤트 ID = 1 : 1 개
이벤트 ID = 2 : 2
등등그들이 도울 수있는 이벤트를 제출하면
, 그것은 101
이벤트 ID = 1
돕는 = 1
사용자 ID = 101
이벤트 ID = 2
= 사용자 ID처럼 "도우미"테이블로 전환 돕는 = 1
아이디 = 101
이벤트 ID = 3
돕는 = 1
,617,451 515,
아이디 = 101
이벤트 ID = 4
돕는 = 0
등 ...
== I는 ==에게
싶지 어떤 사용자 밥되었는지 이벤트 1에 열거 됨 - 나는 다른 어떤 사건에서도 그를 카운트 할 필요가 없다. 카운트를 통해 각 이벤트에 올바른 티셔츠를 가져다 배분할 수 있습니다. 그래서 내가 50 개의 작은, 10 개의 큰, 40 개의 매체를 필요로한다고 말할 수 있습니다.
밥이 이벤트 1에 참석하는 경우, 그는 티셔츠를 입을 것이므로 다른 이벤트에서 다른 사람을 데려 올 필요가 없습니다.
그래서 본질적으로 이전 이벤트에 대해 "Bob"에 "Helping = '1'"이없는 경우에만 num_rows 카운트에 1을 추가해야합니다.
내가 충분히 설명했으면 좋겠다.
아무도 도와 줄 수 있습니까?
다른 이벤트의 셔츠가 같은가요? 이전 이벤트가 무슨 뜻이야? 더 이른 데이트? 또는 그가 선택한 이벤트의 수와 상관없이 한 명의 사용자에 대해 하나의 셔츠 만 계산 하시겠습니까? – piotrm
셔츠는 각 이벤트마다 모두 동일합니다. 이전 이벤트는 이벤트 2가 이벤트 3 다음에 오는 것을 의미하며, 위의 쿼리를 기반으로 모든 이벤트에 참석하는 경우 예를 들어, 각 이벤트에 대해 "작은"1로 계산합니다. 그들이 이벤트 1에 있다면, 나는 다른 이벤트에서 카운트하지 않기를 바란다. 이미 이벤트 1에 그들에게 tshirt를 가져갈 것이다. – TheMonk
이벤트 2는 무엇을 기반으로하는 이벤트 3 이후인가? – piotrm