Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

> wyświetlanie danych z tabeli, relacja wiele do wielu
marekc12
post 16.08.2010, 09:54:13
Post #1





Grupa: Zarejestrowani
Postów: 37
Pomógł: 0
Dołączył: 1.08.2008

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


Witam wszystkich,

dajmy na to mam takie przykładowe tabele:



Każdy film może mieć wielu aktorów. Chciałbym wyświetlić spis filmów z grającymi w nich aktorami. Czy ktoś mi podpowie jak powinienem to zrobić (PHP + MySQL) ?

pozdrawiam smile.gif
Go to the top of the page
+Quote Post
 
Start new topic
Odpowiedzi
nospor
post 16.08.2010, 10:56:18
Post #2





Grupa: Moderatorzy
Postów: 36 557
Pomógł: 6315
Dołączył: 27.12.2004




Cytat
ale w moim przykładzie jest relacja wiele do wielu, tzn. film posiada więcej niż jednego aktora i aktor posiada więcej niż jeden film. To chyba jednym zapytaniem tego ładnie nie pobiorę właśnie ...
To, że w przykladzie pokazałem jak pobrać dane z dwoch tabel nie oznacza, ze nie mozesz ich pobrac z trzech... Idea jest ta sama. Jedyne co musisz zrobic to o jednego więcej LEFT JOIN.

Cytat
Ale myślałem, żeby pobrać najpierw wybrane filmy, a później zrobić zapytanie, które pobierze mi aktorów, którzy grali w pobranych przeze mnie filmach:
[SQL] pobierz, plaintext
SELECT a.name, fa.film_id FROM actor AS a, film_actor AS fa WHERE fa.actor_id = a.id AND (fa.film_id = 1 OR fa.film_id = 2 OR fa.film_id = 3 OR ..... )

gdzie 1,2,3,... to id filmów które wyświetlam. To by mi pobrało wszystkich aktorów związanych z tymi filmami. Co myślicie?
Tez moze byc.
Tylko zamiast:
fa.film_id = 1 OR fa.film_id = 2 OR fa.film_id = 3 OR .....
zrob poprostu
fa.film_id in (1,2,3......)


--------------------

"Myśl, myśl, myśl..." - Kubuś Puchatek || "Manual, manual, manual..." - Kubuś Programista
"Szukaj, szukaj, szukaj..." - Kubuś Odkrywca || "Debuguj, debuguj, debuguj..." - Kubuś Developer

Go to the top of the page
+Quote Post

Posty w temacie


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

 



RSS Wersja Lo-Fi Aktualny czas: 14.08.2025 - 19:26