![]() |
![]() |
![]()
Post
#1
|
|
Grupa: Zarejestrowani Postów: 184 Pomógł: 14 Dołączył: 21.12.2010 Ostrzeżenie: (0%) ![]() ![]() |
Witam.
Chciałbym zrobić wyszukiwarkę ale radzącą sobie z błędami w pisowni. Mój problem polega na tym że nie mam pojęcia jak użyć SOUNDEX z LIKE Załóżmy że w bazie mam tabele posty która ma kolumne tytul. Dodamy tam rekord o wartości pola tytul: fajna fajniejsza i najfajniejsza kiełbasa u nas. Teraz użytkownik wpisuje w wyszukiwarce np kiełbsa i chciałbym żeby mimo to wyszukało mu ten odpowiedni rekord. Tzn ma wyszukać np post o tytule: fajna fajniejsza i najfajniejsza kiełbasa u nas. Kiedy w wyszukiwarce wpisze użytkownik np: kiełbsa Poniższe zapytanie działa jedynie gdy w polu tytul jest tylko: kiełbasa.
Jak zmodyfikować to zapytanie? Z góry dzięki Ten post edytował kill15 2.04.2012, 13:51:37 |
|
|
![]() |
![]()
Post
#2
|
|
Grupa: Zarejestrowani Postów: 358 Pomógł: 78 Dołączył: 4.11.2008 Skąd: Kraków Ostrzeżenie: (0%) ![]() ![]() |
Wydaje mi się, że chyba już wiem co chcesz zrobić tylko nie wiem czy Ty na pewno wiesz (IMG:style_emoticons/default/smile.gif)
Przede wszystkim zrób sobie zapytanie w stylu "SELECT soundex(col) FROM `table`" żebyś wiedział CZYM jest soundex Ja na szybko zrobiłem test : w bazie miałem rekordy: admin admni adminx W moim zapytaniu gdzie szukam tekstu 'admin' wyszukał mi słowa admin i admni, dlatego że soundex dla tych słów to "A350" Soundex dla słowa adminx to "A352" więc go nie wypisał, bo i wypisać nie mógł Podejrzewam, że chcesz zrobić zapytanie szukające soundexa typu "A35%" - tylko pytanie czy na pewno o to Ci chodzi - w tym konkretnym przypadku znajdzie również adminx, ale w innych przypadków pewnie również masę śmieci, które nie powinny być dopasowane. |
|
|
![]() ![]() |
![]() |
Aktualny czas: 7.10.2025 - 08:40 |