Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: Wyszukiwanie w trzech polach
Forum PHP.pl > Forum > Bazy danych > MySQL
dragonsokol
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?
gszpetkowski
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.
IceManSpy
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.
dragonsokol
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
To jest wersja lo-fi głównej zawartości. Aby zobaczyć pełną wersję z większą zawartością, obrazkami i formatowaniem proszę kliknij tutaj.
Invision Power Board © 2001-2025 Invision Power Services, Inc.