Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

 
Reply to this topicStart new topic
> Wyszukiwanie w trzech polach
dragonsokol
post 11.11.2011, 16:47:46
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 11.11.2011, 17:13:36
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 11.11.2011, 19:20:56
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 11.11.2011, 22:54:17
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 smile.gif Dzięki.

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

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

 



RSS Wersja Lo-Fi Aktualny czas: 30.05.2025 - 03:23