Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

> powiązanie dwóch tabel
mb83
post
Post #1





Grupa: Zarejestrowani
Postów: 113
Pomógł: 0
Dołączył: 2.02.2012

Ostrzeżenie: (0%)
-----


Witam,
Mam stronę piłkarską.
Każda z drużyn ma swoją osobną podstronę na której są dane kontaktowe, strona www, etc ...
Chciałbym, aby na profilu tej drużyny były wyświetlane informacje takie jak newsy powiązane z tą drużyną.

Tylko, że jeśli napiszę w jakimś newsie o więcej niż jednej z drużyn to chciałbym aby przy każdej z tych drużyn był ten news.

Domyślam się, że trzeba to rozwiązać za pomocą jakiegoś jednego słowa kluczowego.

Stworzyłem przy newsie kolumnę "profil_id" i w nim wpisuję nr id danego zespołu z tabeli "profile".

Tylko, że jeśli wpiszę w niej nr id zespołu np "18" to drużyna "188" też będzie miała tego newsa. (co jest zrozumiałe, używam where like '%18%')

i tu pytanie: rozwiązanie wyżej jest dobre tylko jak to rozwiązanie zastosować jeśli wpiszę więcej id zespołów?
oddzielić je przecinkiem i explode? jak ten kod sformułować?

Bardzo proszę o pomoc, jak najprościej to rozwiązać bez zbędnych komplikacji.
Dzięki za wyrozumiałość.
Go to the top of the page
+Quote Post
 
Start new topic
Odpowiedzi
SmokAnalog
post
Post #2





Grupa: Zarejestrowani
Postów: 1 707
Pomógł: 266
Dołączył: 3.07.2012
Skąd: Poznań

Ostrzeżenie: (0%)
-----


Zakładam, że jeden news może dotyczyć kilku zespołów jednocześnie, bo tylko wtedy mówimy o relacji wiele do wielu i potrzebujemy tabeli łączącej.

Tabela z newsami nie powinna nic wiedzieć o zespołach, a tabela z zespołami o newsach.

Tabela `newsy`:
Kod
id | tytul | skrot


Tabela `zespoly`:
Kod
id | nazwa


Tabela łącząca, ja lubię je nazywać w stylu `newsy_zespoly`:
Kod
id | id_newsa | id_zespolu


Warto zapoznać się z tematem kluczy obcych. Wtedy możesz np. zrobić tak, że przy usunięciu danego zespołu zawsze usunie się automatycznie jego przypisanie do newsa.

Przykładowe dane:

Tabela `newsy`:
Kod
1 | Była spajsetka nie myje włosów! | Ble.
2 | Iron Maiden i Spice Girls łączą się! | Szok i niedowierzanie.


Tabela `zespoly`:
Kod
1 | Iron Maiden
2 | Spice Girls


Tabela `newsy_zespoly`
Kod
1 | 1 | 2
2 | 2 | 1
3 | 2 | 2


Przeanalizuj zawartość tabeli `newsy_zespoly`. Pierwszy news jest połączony z zespołem Spice Girls, a drugi z Iron Maiden i Spice Girls jednocześnie.

Ten post edytował SmokAnalog 1.12.2013, 12:19:53
Go to the top of the page
+Quote Post

Posty w temacie


Reply to this topicStart new topic
2 Użytkowników czyta ten temat (2 Gości i 0 Anonimowych użytkowników)
0 Zarejestrowanych:

 



RSS Aktualny czas: 16.10.2025 - 23:38