Wyszukiwarka produktów

0

Witam serdecznie,
Mam takie zapytanie (php pdo):

 SELECT * FROM produkty WHERE  (opis  like '%' :search '%' or nazwa  like '%' :search '%' ) 

Mam problem z tym że:

  • wyszukiwarka rozróżnia wielkość liter: "Kebab" i "kebab" zwraca różne wyniki,
  • wyszukiwarka rozróżnia polskie znaki: wpisując "leba" - nie znajdzie "Łeba"
    (w bazie mam wszystko zapisane w UTF8 z polskimi znakami).

Wiecie może jak to naprawić (żeby wyszukiwarka nie miała problemu z wielkością znaków oraz polskimi znakami)?

Bardzo proszę o pomoc,

0

Tu jest problem architektoniczny - zamień "wyszukiwanie przez zapytanie" na wyszukiwarkę.
Możesz napisać swoją, albo skorzystać z gotowego engine'u.

Bardzo proste rozwiązanie (ale nie prostackie) znajdziesz tutaj:
http://www.onlamp.com/pub/a/php/2002/10/24/simplesearchengine.html

O gotowych enginach dla PHP możesz poczytać tutaj:
http://php.net/manual/en/refs.search.php

0

dziękuję. Czyli generalnie nie da się tego zrobić poprawnie za pomocą zapytania?

1
Northwest napisał(a):

dziękuję. Czyli generalnie nie da się tego zrobić poprawnie za pomocą zapytania?

No da się - przejrzyj ten pierwszy link ode mnie. Dla polskich liter będziesz to musiał podrasować.
Trzeba trochę poszukać, ale w jednym sql-u to nawet jeśli Ci to wyjdzie to będzie jakiś koszmarek.

Tu masz jeszcze nowsze rozwiązanie, oparte o funkcje full-text search dostępne w MySQL:
http://www.hackingwithphp.com/15/1/2/making-a-simple-search-engine

Zarejestruj się i dołącz do największej społeczności programistów w Polsce.

Otrzymaj wsparcie, dziel się wiedzą i rozwijaj swoje umiejętności z najlepszymi.