![]() |
![]() |
![]()
Post
#1
|
|
Grupa: Zarejestrowani Postów: 59 Pomógł: 0 Dołączył: 20.03.2010 Ostrzeżenie: (0%) ![]() ![]() |
Witam,
załóżmy że mam dwie tabelki: ZDJĘCIA - id - nazwa - opis - autor EFEKTY - id - id_zdjecia - efekt I chciałbym wyświetlić jedno zdjęcie oraz wszystkie efekty (może ich być np. 5) W jaki sposób ułożyć zapytanie? Bo dostaje tylko jeden efekt. Z góry dzięki za pomoc. |
|
|
![]() |
![]()
Post
#2
|
|
Grupa: Moderatorzy Postów: 36 559 Pomógł: 6315 Dołączył: 27.12.2004 ![]() |
Cytat No chyba tak, bo np. chcąc dostać nazwę zdjęcia muszę odwołać się do zerowego elementu: $zdjecie[0]['nazwa'] itd. Kazdy rekord zawiera nazwe zdjecia a nie tylko pierwszy. Rekordy roznią sie tylko efektami. Cytat Albo rozbić to na 2 zapytania: 1 do pobrania informacji o zdjęciu, 2 do pobrania informacji o efektach. Mniejsza ilość zapytań nie zawsze jest lepsza. Przykładowo tutaj w wyniku otrzymasz nadmiarowość danych: zdublowane dane dotyczące zdjęcia. Dla kilku rekordów może nie jest to nic strasznego, ale dla większych zbiorów różnica może być wyraźnie odczuwalna. Ja bym to ciachnął 2 zapytaniami. Nie widze sensu tutaj dwoch zapytan, ktore bedą i tak wolniejsze od tego jednego.A jesli tak bardzo boli nadmiarowosc danych, to mozna przeciez uzyc GROUP BY oraz GROUP_CONCAT a wowczas wszystkie efekty i zdjecie będą w jednym rekordzie. |
|
|
![]() ![]() |
![]() |
Aktualny czas: 16.10.2025 - 15:19 |