![]() |
![]() |
![]()
Post
#1
|
|
![]() Grupa: Zarejestrowani Postów: 532 Pomógł: 24 Dołączył: 15.04.2011 Skąd: Kalisz Ostrzeżenie: (0%) ![]() ![]() |
Chcę napisać wyszukiwarkę, która będzie wyszukiwała mi artykuły po ich tagach oraz tytułach. Użytkownik podaje (na przykłąd) 3 słowa w polu wyszukiwania, a ja chcę mu zwrócić listę artykułów, które pasują (względem tytułu i tagów artykułu) do zapytania. Dodatkowo, artykuły te są podzielone (przydzielone do) na różne działy strony, w ten sposób, że strona ma (załóżmy) 14 działów, i dany artykuł może być przypisany do wybranych 5 z nich.
Tabela publikacji Kod id | title | description | content | visibility Tabela tagów Kod publication_id | tag Tabela przypisania artykułu do działów strony Kod publication_id | section_id Tabela części strony Kod id | name Po podaniu przez użytkownika zapytania filtruje dane, a następnie rozdzielam tak, bym miał każde słowo w osobnym indeksie tablicy. Jak napisać zapytanie, które zwróci mi artykuły, których tytuł lub tagi pasują do zapytania użytkownika? Dodatkowo muszę pobrać tylko te artykuły, które należą do wybranego wcześniej działu strony (ID działu przechowywane w stałej). |
|
|
![]() |
![]()
Post
#2
|
|
Grupa: Zarejestrowani Postów: 29 Pomógł: 4 Dołączył: 1.09.2010 Ostrzeżenie: (0%) ![]() ![]() |
, gdzie user_string to dane wpisane przez użytkownika, PUBLICATION to tabela z artykułami, TAG to tabela z tagami, SECTION to tabela z działami. Ten post edytował sebek222 10.05.2014, 13:48:58 |
|
|
![]()
Post
#3
|
|
![]() Grupa: Zarejestrowani Postów: 532 Pomógł: 24 Dołączył: 15.04.2011 Skąd: Kalisz Ostrzeżenie: (0%) ![]() ![]() |
Dziękuję CI bardzo za odpowiedź, niestety mam problem. Jeśli wyszukuję część tytułu, ale nie ma tego w tagach artykułu, to nic mi nie wyszukuje, ale jesli tylko usunę JOIN tabeli TAGS to wyszukuje bez problemu tą samą frazę.
Aktualne zapytanie do DB wygląda w ten sposób:
Ten post edytował adbacz 12.05.2014, 11:33:47 |
|
|
![]()
Post
#4
|
|
![]() Grupa: Zarejestrowani Postów: 4 291 Pomógł: 829 Dołączył: 14.02.2009 Skąd: łódź Ostrzeżenie: (0%) ![]() ![]() |
może spróbuj LEFT JOIN `tags`...
|
|
|
![]()
Post
#5
|
|
![]() Grupa: Zarejestrowani Postów: 532 Pomógł: 24 Dołączył: 15.04.2011 Skąd: Kalisz Ostrzeżenie: (0%) ![]() ![]() |
Tak, LEFT JOIN pomogło. Dziękuję za pomoc.
|
|
|
![]() ![]() |
![]() |
Wersja Lo-Fi | Aktualny czas: 19.07.2025 - 06:50 |