Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: [mysql] Lista parametrów przypisanych do danego artykułu?
Forum PHP.pl > Forum > Przedszkole
luis2luis
Witam.

Mam liste artykułów w bloku

Cytat
TABELA: BLOG_ARTYULY
ART_ID
ART_NAZWA
ART_TRESC



Oraz mam przypisane parametry

Cytat
TABELA: BLOG_ARTYKULY_PARAMETRY
PARAM_ID
ART_ID
WARTOSC_PARAMETRU



Jest jeszcze tabela z parametrami która trzyma infomracje jaki parametr ma jaka infomracje.


Teraz pytanie. Czy mogę pobrac jednym zapytaniem liste artrykułów i od razu liste WARTOSC_PARAMETRU ?

Czy zostaje mi tylko pobranie najpierw artykułow, nastpnie w tej pętli drugie zapytanie o wypełnione parametry? Będzie wtedy niestety setki zapytań do bazy danych :/

Próbowałem left join, jednak w przypadku gdy parametrów przypisanych jest kilka, powiela mi w pętli poszczególne artyuły.


trueblue
I działanie jest jak najbardziej poprawne.
W MySQL jest funkcja agregująca GROUP_CONCAT.
nospor
Cytat
Próbowałem left join, jednak w przypadku gdy parametrów przypisanych jest kilka, powiela mi w pętli poszczególne artyuły.

Zgadza sie. Musisz to potem w php odpowiednio pogrupowac w php.

Cytat
Czy zostaje mi tylko pobranie najpierw artykułow, nastpnie w tej pętli drugie zapytanie o wypełnione parametry? Będzie wtedy niestety setki zapytań do bazy danych :/

Nie, bedzie tylko jedno zapytanie wiecej. Pod warunkiem ,ze w to zapytanie wlozysz pobranie informacji dla wszystki pobranych wczesniej artykulow a nie jak teraz robisz ze dla kazdego artykulu oddzielne zapytanie
luis2luis
Dziękuje za nakierowanie, bede badał ten mechanizm GROUP_CONCAT, niebardzo wyobrażam sobieteraz jak to działa po pobierznym oglądnięciu. Widze, że jest stosowany głownie w odniesieniu do jednej tabeli.


Kolego nospor, czyli musze zrobić join left i z powielających się pozycji wyciągać odpowiednie dane, któe się nie powielają?
Będzie z tym troche problem, cała pętla z wpisami jest dosyć obszerna, bedzie to problemem.

nospor
Cytat
Będzie z tym troche problem, cała pętla z wpisami jest dosyć obszerna, bedzie to problemem.
Nie ma to znaczenia
Tutaj masz pokazane jak grupowac takie dane
http://nospor.pl/grupowanie-wynikow.html

luis2luis
Cytat(nospor @ 21.08.2017, 15:39:02 ) *
Nie ma to znaczenia
Tutaj masz pokazane jak grupowac takie dane
http://nospor.pl/grupowanie-wynikow.html


Dziękuje, to są ciekawe rozwiązania.,m napewno w przyszłości się przydadzą.

Podjąłem decyzje na podstawie (tych przykładów), że przed wyświetleniem listy pobiiore całą baze parametrów do pamięci jako tablice.
Wygeneruje tablice z listą parametrów przypisanych do danego artykułu.

Może to troszeczke zabrać pamięci, w przyszłości bede badał wydajność smile.gif
nospor
Troche bez sensu. Powinienies brac tylko parametry dla artykulow, ktore aktualnie przegladasz. Wiec pierwsze zapytanie, ktore pobierze ci artykuly, a drugie zapytanie, ktore pobierze ci parametry dla tych artykulow. W zasadzie bedzie to samo co masz teraz, ino ze ograniczysz parametry tylko dla wybranych artykulow.
To jest wersja lo-fi głównej zawartości. Aby zobaczyć pełną wersję z większą zawartością, obrazkami i formatowaniem proszę kliknij tutaj.
Invision Power Board © 2001-2025 Invision Power Services, Inc.