Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

 
Reply to this topicStart new topic
> Wyszukiwanie w trzech polach
dragonsokol
post
Post #1





Grupa: Zarejestrowani
Postów: 31
Pomógł: 2
Dołączył: 23.06.2008

Ostrzeżenie: (0%)
-----


Witam, posiadam pola 'a', 'b', 'c'. Piszę do tego wyszukiwarkę. Narazie doszedłem do momentu, że gdy wpiszę szukane "black coffee" to pokazuje dany rekord jeżeli w 'a', 'b' lub 'c' znajdą się dwa wyrazy "black coffee". Jednak chcę zrobić coś takiego:
w 'a' znajduje np "black", i w 'b' lub 'c' "coffee", wtedy też powinien pokazać dany rekord.

Jak to ogarnąć bez pisania w query wszystkich możliwych kombinacji?
Go to the top of the page
+Quote Post
gszpetkowski
post
Post #2





Grupa: Zarejestrowani
Postów: 2
Pomógł: 0
Dołączył: 10.11.2011

Ostrzeżenie: (0%)
-----


Wydaje mi się, że najprościej byłoby utworzyć konkatenację tych trzech pól i wyszukać czy w ramach tego złączenia występują obydwa szukane wyrazy.
Go to the top of the page
+Quote Post
IceManSpy
post
Post #3





Grupa: Zarejestrowani
Postów: 1 006
Pomógł: 111
Dołączył: 23.07.2010
Skąd: Kraków

Ostrzeżenie: (0%)
-----


A jakiego silnik używasz do bazy? Jeśli MyISAM to masz coś takiego jak wyszukiwarka pełnotekstowa:
http://drzewo-wiedzy.pl/?page=artykul&...y_match_against.
Go to the top of the page
+Quote Post
dragonsokol
post
Post #4





Grupa: Zarejestrowani
Postów: 31
Pomógł: 2
Dołączył: 23.06.2008

Ostrzeżenie: (0%)
-----


Używam InnoDB ze względu na transakcje.
Zaraz sprawdzę concata (IMG:style_emoticons/default/smile.gif) Dzięki.

Śmiga aż miło (IMG:style_emoticons/default/smile.gif)
Dla potomnych: użyłem CONCAT_WS w WHERE (IMG:style_emoticons/default/smile.gif)
Go to the top of the page
+Quote Post

Reply to this topicStart new topic
2 Użytkowników czyta ten temat (2 Gości i 0 Anonimowych użytkowników)
0 Zarejestrowanych:

 



RSS Aktualny czas: 15.09.2025 - 02:22