Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

> [PHP][SQL] Zapytanie dotyczące wyświetlania wpisów na talicy, coś jak Facebook
lukaszk
post
Post #1





Grupa: Zarejestrowani
Postów: 159
Pomógł: 0
Dołączył: 21.12.2010

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


Witam, mam problem z zapytaniem
Mam tabelę tablica do której dodają się id dodanych filmów, galerii itd.
Założenie jest takie aby zapytanie wyświetlało to co użytkownik zaznaczył że ma być na tablicy.
Podstawowe treści, linki do fotek i filmów zawierają tabele filmy i galerie
id_dodany w tabeli tablica zawiera id filmu, galerii którą użytkownik chcę umieścić na tablicy.

mam taki problem - kiedy zapytanie dotyczyło tylko jednej tablicy (dla filmy) wszystko było ok
teraz dodałem tablice galerie i dla filmów dalej jest ok z tym że przy jednym rekordzie w tablicy galerie
wyświetla się tyle razy ile mam filmów czyli jeśli mam 7 filmów to mam i 7 razy ten sam wpis.
Proszę o pomoc jak to rozwiązać bo ja już długo się z tym bawię i nic (IMG:style_emoticons/default/sad.gif)


  1. SELECT *
  2. FROM tablica a JOIN filmy b, galerie c
  3. WHERE a.id_dodany=b.id_film OR a.id_dodany=c.id_galeria ORDER BY id_dodany DESC";
  4.  
Go to the top of the page
+Quote Post
 
Start new topic
Odpowiedzi
bostaf
post
Post #2





Grupa: Zarejestrowani
Postów: 374
Pomógł: 79
Dołączył: 6.04.2010
Skąd: Ostrów Wielkopolski

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


To że dla samych filmów działa prawidłowo to szczęśliwy zbieg okoliczności (IMG:style_emoticons/default/smile.gif) W zapytaniu nie podałeś filtra, o którym wspomniałeś: kolumny "rodzaj".
Poza tym nadal zachęcam Cię do znormalizowania bazy, bo już natrafiłeś na pierwszy problem związany z jej brakiem. JOIN zwróci iloczyn (część wspólną) obu zbiorów (tablic). Kolejny JOIN z inną tablicą i wspólnym identyfikatorem jeszcze bardziej zawęzi wynik eliminując nawet poprzednie trafienia. To do niczego nie prowadzi. Rozwiązanie problemu Twoją metodą nie jest niemożliwe. Ale spędzanie czasu nad rozwiązaniem jest jak uczenie się wbijania gwoździ suwmiarką. Też się da. Ale łatwiej i poprawniej jest użyć młotka. Znormalizuj bazę. Jeśli poczytałeś i nadal nie bardzo wiesz jak to pokaz strukturę swoich tabel to podpowiem jak znormalizować.
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: 8.10.2025 - 20:43