![]() ![]() |
Post
#1
|
|
|
Grupa: Zarejestrowani Postów: 190 Pomógł: 0 Dołączył: 25.11.2015 Ostrzeżenie: (0%)
|
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. |
|
|
|
Post
#2
|
|
|
Grupa: Zarejestrowani Postów: 6 806 Pomógł: 1828 Dołączył: 11.03.2014 Ostrzeżenie: (0%)
|
I działanie jest jak najbardziej poprawne.
W MySQL jest funkcja agregująca GROUP_CONCAT. -------------------- |
|
|
|
Post
#3
|
|
![]() Grupa: Moderatorzy Postów: 36 557 Pomógł: 6315 Dołączył: 27.12.2004 |
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 -------------------- "Myśl, myśl, myśl..." - Kubuś Puchatek || "Manual, manual, manual..." - Kubuś Programista "Szukaj, szukaj, szukaj..." - Kubuś Odkrywca || "Debuguj, debuguj, debuguj..." - Kubuś Developer |
|
|
|
Post
#4
|
|
|
Grupa: Zarejestrowani Postów: 190 Pomógł: 0 Dołączył: 25.11.2015 Ostrzeżenie: (0%)
|
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. |
|
|
|
Post
#5
|
|
![]() Grupa: Moderatorzy Postów: 36 557 Pomógł: 6315 Dołączył: 27.12.2004 |
Cytat Będzie z tym troche problem, cała pętla z wpisami jest dosyć obszerna, bedzie to problemem. Nie ma to znaczeniaTutaj masz pokazane jak grupowac takie dane http://nospor.pl/grupowanie-wynikow.html -------------------- "Myśl, myśl, myśl..." - Kubuś Puchatek || "Manual, manual, manual..." - Kubuś Programista "Szukaj, szukaj, szukaj..." - Kubuś Odkrywca || "Debuguj, debuguj, debuguj..." - Kubuś Developer |
|
|
|
Post
#6
|
|
|
Grupa: Zarejestrowani Postów: 190 Pomógł: 0 Dołączył: 25.11.2015 Ostrzeżenie: (0%)
|
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ść |
|
|
|
Post
#7
|
|
![]() Grupa: Moderatorzy Postów: 36 557 Pomógł: 6315 Dołączył: 27.12.2004 |
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.
-------------------- "Myśl, myśl, myśl..." - Kubuś Puchatek || "Manual, manual, manual..." - Kubuś Programista "Szukaj, szukaj, szukaj..." - Kubuś Odkrywca || "Debuguj, debuguj, debuguj..." - Kubuś Developer |
|
|
|
![]() ![]() |
|
Aktualny czas: 20.08.2025 - 02:07 |