データをプルする必要があるテーブルが4つあります。1つのイベントに署名した人の数を数え、ユーザーがイベントに応募したかどうかを確認する必要があります。
これらは私のテーブルのセットアップです:
TABLE: users
+----+----------+-------+--------+-------+
| id | username | level | class | guild |
+----+----------+-------+--------+-------+
| 1 | example1 | 100 | Hunter | blah |
| 2 | example2 | 105 | Mage | blah2 |
| 3 | example3 | 102 | Healer | blah |
+----+----------+-------+--------+-------+
ID is primary
TABLE: event_randoms
+----+----------+-------+--------+----------+----------+
| id | username | level | class | apped_by | event_id |
+----+----------+-------+--------+----------+----------+
| 1 | random1 | 153 | Hunter | 3 | 3 |
| 2 | random2 | 158 | Healer | 3 | 1 |
| 3 | random3 | 167 | Warrior| 1 | 3 |
+----+----------+-------+--------+----------+----------+
ID is primary
apped_by should be foreign key to users.id
event_id should be foreign key to events.id
TABLE: events
+----+------------+------------+-----------+-----------+-----------+
| id | event_name | event_date | initiator | min_level | max_level |
+----+------------+------------+-----------+-----------+-----------+
| 1 | event1 | date1 | 1 | 100 | 120 |
| 2 | event2 | date2 | 1 | 121 | 135 |
| 3 | event3 | date3 | 1 | 100 | 120 |
| 4 | event4 | date4 | 1 | 150 | 200 |
+----+------------+------------+-----------+-----------+-----------+
ID is primary
TABLE: event_apps
+----+----------+--------------+
| id | event_id | applicant_id |
+----+----------+--------------+
| 1 | 3 | 2 |
| 2 | 4 | 2 |
| 3 | 3 | 1 |
| 4 | 1 | 3 |
+----+----------+--------------+
ID is primary
event_id should be foreign key to events.id
applicant_id should be foreign key to users.id
私はこれに非常に慣れていないことを最初に認めます。数日前にMySQLの使い方を学びました。1つのテーブルからデータを取得することはできますが、複数のテーブルから取得する方法がわかりません。
これは私が試したSQLクエリです
SELECT DD_events.id, event_id, applicant_id, guild, level, class, DD_users.id
FROM DD_events, DD_event_apps, DD_users
WHERE DD_event_apps.event_id = DD_events.id
AND DD_event_apps.applicant_id = DD_users.id
配列をprint_rしようとしましたが、配列が空になりました。
したがって、これに関連するいくつかの質問があります。1:イベントにサインアップしている人(ユーザーとランダム)の数を数として数え、表示するにはどうすればよいですか?例:イベント3には合計4つ(2人のユーザーと2人のランダム)が必要です
2:特定の個人がイベントに署名しているかどうかを確認し、署名されているかどうかに基づいてテキストを表示するにはどうすればよいですか?例:ユーザー1はイベント3にサインアップしているため、「登録済み」になりますが、署名されていないユーザー2は、「未登録」と表示されます。
3:特定のイベントに署名した人の情報を2つのテーブルに表示したい。1つはユーザー用、もう1つはランダム用です。例:イベント3では、usersテーブルの下に2つのユーザー情報(username、guild、class、level)があり、ランダムテーブルの下に2つのランダムなユーザー情報(name、class、level、このユーザーを適用したユーザー)があります。
あなたが1つの部分に答えることができるとしても、どんなそしてすべての助けもありがたいです。