Łączenie trzech tabel z bazy i odczyt w PHP

Odpowiedz Nowy wątek
2018-12-06 12:30
0

Witam serdecznie.

Otóż mam taki problem z stworzeniem zapytania do bazy danych i ich poprawnym wyświetleniem. Mianowicie chciałbym pobrać rekordy z trzech tabel i połączyć wyniki z nich otrzymane. Opisze o co chodzi...

Pierwsza tabela tab_liga
id nazwa
1 La Liga
2 Premier League
3 Ekstraklasa
4 Serie A
5 Bundesliga

Druga tabela tab_kluby
id nazwa
1 Real Madryt
2 Barcelona
3 Arsenal Londyn
4 Bayern Monachium
5 Legia Warszawa
6 Jagielonia Białystok
7 Lechia Gdańsk
8 Juventus Turyn

Trzecia tabela tab_pilkarz
id nazwa id_klub id_liga
1 Messi 2 1
2 Ronaldo 8 4
3 Frankowski 6 3
4 Malarz 5 3
5 Lewandowski 4 5
6 Welbeck 3 2
7 Leno 3 2
8 Suarez 2 1
8 Modric 1 1

https://i.ibb.co/Hqckws4/Untitled.jpg

Problem jest w tym, że w drugiej tabeli nie ma pola z numerem id ligi. Nie wiem jak bez tego id zrobić żeby można było wyświetlić rekordy pogrupowane w sposób jak w załączniku. Proszę o pomoc. Z góry dziękuje i pozdrawiam

edytowany 3x, ostatnio: kiku90, 2018-12-06 12:34
Moja wiedza o piłce w granicy dąży do zera, ale jeden klub nie może grać w kilku ligach? - AnyKtokolwiek 2018-12-06 12:44

Pozostało 580 znaków

2018-12-06 12:44
select
   l.Nazwa as Liga
   ,k.nazwa as klub
   ,p.nazwa as pilkarz
from
 tab_pilkarz p
 inner join tab_kluby k on k.id=p.id_klub
 inner join tab_liga l on l.id=p.id_liga

Pozostało 580 znaków

2018-12-06 14:12
0

Ok działa super. Mam jeszcze jedno pytanie. Da się wyświetlić ligi i kuby w taki sposób aby wyglądało to mniej więcej tak:

LIGA 1

  • klub 1
  • klub 2
  • klub 3
  • klub 4

LIGA 2

  • klub 1
  • klub 2
  • klub 3
  • klub 4

LIGA 3

  • klub 1
  • klub 2
  • klub 3
  • klub 4

Mam zamiar zrobić inną podstronę po id klubu gdzie będzie lista piłkarzy po kliknięciu w nazwę klubu. Nie wiem tylko jak to ogarnąć, zeby ligi i kluby były tak jakby oddzielnymi kategoriami. Z góry dziękuje za pomoc i poświęcony czas :)

edytowany 1x, ostatnio: kiku90, 2018-12-06 14:14

Pozostało 580 znaków

2018-12-06 14:25
1
SELECT distinct
   l.Nazwa AS Liga
   ,k.nazwa AS klub
FROM
 tab_pilkarz p
 INNER JOIN tab_kluby k ON k.id=p.id_klub
 INNER JOIN tab_liga l ON l.id=p.id_liga

Pozostało 580 znaków

Odpowiedz
Liczba odpowiedzi na stronę

1 użytkowników online, w tym zalogowanych: 0, gości: 1, botów: 0