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%)
-----


Interesujące Cię ID wrzuca się do WHERE, a nie do ON, bo to selekcja rekordów, a nie warunek samego powiązania:
  1. SELECT `n`.*,
  2. `t`.*
  3. FROM `newsy_zespoly` AS `nz`
  4. JOIN `newsy` AS `n`
  5. ON `n`.`id` = `nz`.`id_newsa`
  6. JOIN `zespoly` AS `z`
  7. ON `z`.`id` = `nz`.`id_zespolu`
  8. WHERE `n`.`id` IN (1, 2, 31, 4)
  9. AND `z`.`id` IN (7, 9);


Ten post edytował SmokAnalog 1.12.2013, 11:31:14
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: 17.10.2025 - 15:31