Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: [PHP] wyszukiwarka a polskie (i ich brak) znaki
Forum PHP.pl > Forum > Przedszkole
Narus
Witam

Mam wyszukiwarkę na swojej stronie, przeszukującą baze msql w poszukiwaniu wyników, prosta oparta na POST. Wszystko pięknie działa, mam jednak małe 'ale'.
Załóżmy szukam frazy "małysz" i ładnie wyświetla mi wyniki. Jednak gdy wpiszę "malysz" to wyników brak.

Jak rozwiązać ten problem?

Pozdrawiam serdecznie
The Night Shadow
MySQL nie posiada rozszerzenia ignorującego polskie znaki diakrytyczne. Możesz jednak obejść ten problem rozbudowując proced dodawania / aktualizacji danych w bazie. Przykład tabeli users

first_name
first_name_search
last_name
last_name_search

Tudzież rozbijasz to na dwie zupełnie odrębne tabele (pierwsza zwykła, druga dla wyszukiwarki).

Wstawiasz odpowiednio takie dane

Jeży
Jezy
Gomułka
Gomulka

Jak masz formularz wyszukiwania, który zwraca Ci szukaną frazę najpierw musisz wyfiltrować dane, czyli zamienić polskie znaki diakrytyczne na ich odpowiedniki, a potem przeszukać bazę, czyli np. ktoś wpisał Gomułka, filtrujesz to zamieniając ł na l. Powstaje Ci Gomulka i porównujesz to z polami search w bazie.
Narus
ok, dzięki za odpowiedź winksmiley.jpg
choć szkoda, że nie ma innego sposobu
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.