![]() |
![]() |
![]()
Post
#1
|
|
Grupa: Zarejestrowani Postów: 190 Pomógł: 0 Dołączył: 25.11.2015 Ostrzeżenie: (0%) ![]() ![]() |
Witam.
Mam pewien problem z wyszukiwarką zaawansowaną, przerabiam istniejące już zapytanie SQL. Potrzebuje na liście artykułów w danej kategorii wykonać wyszukiwarkę wg parametrów do których jest przypisany artykuł. Czyli w tabeli blog_art_parametry mam przypisane do danego artykułu parametry. Następnie z formularza wybieram, że chce dla parametru id 11 wartość X, dla parametry 15 wartość Y. Jak jest jeden parametr to wyświetla się poprawnie, ale jak jest kilka parametrów i dodaje kolejny warunek to już nie wyświetla nic: AND (ap.param_id='11' AND ap.wartosc_id='4') ...
Jak zrobić to, żeby dla kolejnych warunków AND (ap.param_id='11' AND ap.wartosc_id='2') ... AND (ap.param_id='15' AND ap.wartosc_id='2') wyświetlało poprawnąwartość. |
|
|
![]() |
![]()
Post
#2
|
|
Grupa: Zarejestrowani Postów: 1 884 Pomógł: 231 Dołączył: 20.03.2005 Skąd: Będzin Ostrzeżenie: (0%) ![]() ![]() |
Może inaczej. Co oznaczają parametry.
Bo może masz źle skonskutrowane zapytanie np. powinieneś użyć INNER JOIN oraz LEFT JOIN. |
|
|
![]()
Post
#3
|
|
Grupa: Zarejestrowani Postów: 190 Pomógł: 0 Dołączył: 25.11.2015 Ostrzeżenie: (0%) ![]() ![]() |
Może inaczej. Co oznaczają parametry. Bo może masz źle skonskutrowane zapytanie np. powinieneś użyć INNER JOIN oraz LEFT JOIN. Mam listę parametrów. Taką jak 1. Obszar, 2 Typ Artykułu. 3 Tematyka. Jest to mechanizm uniwersalny każdy może sobie definiować liste takich parametrów. blog_params 1 Obszar 2 Typ artykułu 3. Tematyka ... Teraz mam tabele blog_art_parametry czyli połączenia param_id wartosc_id art_id 1 Polska 3 1 Niemcy 5 .... Teraz potrzebuje z listy artykułów blog_art wyświetlić pozycje które dla parametru: Obszar mają wartość 'Polska' (param_id 1) dla parametru Typ Artykułu (param_id 2) mają '3' i dla Tematyka (param_id 3) mają wartośc 'sportowy'. |
|
|
![]() ![]() |
![]() |
Aktualny czas: 11.10.2025 - 03:27 |