Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

> [MySQL]Wyszukiwanie z pominięciem znaków interpunkcyjnych
miniol
post
Post #1





Grupa: Zarejestrowani
Postów: 84
Pomógł: 4
Dołączył: 25.03.2011

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


Witam,
Mam małą zagwozdkę. Otóż staram się zrobić prostą wyszukiwarkę, jednak natrafiłem na przeszkodę ze znakami interpunkcyjnymi.

Do wyszukiwania służy mi %LIKE%

Niestety jeśli ktoś chce wyszukać w bazie np: "Dinozaury kolorowanka", a w bazie mam "Dinozaury. Kolorowanka" to już nie wyłapuje mi tego. Jak się domyślam, problemem jest to, że pomiędzy słowami jest kropka, której użytkownik nie wpisał. Czy ktoś wie jak to poprawić?

Próbowałem zmienić bazę z InnoDB na MyISAM i zrobić fulltext indexy, ale to nic nie pomogło.
Go to the top of the page
+Quote Post
 
Start new topic
Odpowiedzi
miniol
post
Post #2





Grupa: Zarejestrowani
Postów: 84
Pomógł: 4
Dołączył: 25.03.2011

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


Zrzut bazy:


  1. CREATE TABLE IF NOT EXISTS `products` (
  2. `id` int(11) NOT NULL AUTO_INCREMENT,
  3. `nazwa` varchar(255) NOT NULL,
  4. `ean` varchar(13) NOT NULL,
  5. PRIMARY KEY (`id`),
  6. UNIQUE KEY `ean` (`ean`),
  7. FULLTEXT KEY `nazwa` (`nazwa`)
  8. )
  9. ENGINE=MyISAM
  10. DEFAULT CHARSET=utf8
  11. AUTO_INCREMENT=19811 ;



johny_s, właśnie myślałem nad tym, ale miałem nadzieję, że w MySQL jest jakaś taka funkcja i nie będzie potrzeby rozbijać szukanej frazy na słowa.
Ale jeśli będę rozbijał frazę na słowa i stosował %LIKE% to przy kilku słowach chyba będzie mi katowało serwer co?

Ten post edytował miniol 12.06.2012, 10:26:52
Go to the top of the page
+Quote Post

Posty w temacie


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: 3.10.2025 - 13:18