Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

> Prosta wyszukiwarka a jednak problem, Problem z wyszukiwanie np: imion i nazwisk
kilinho
post
Post #1





Grupa: Zarejestrowani
Postów: 24
Pomógł: 0
Dołączył: 8.05.2008

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


Witam.

Mam sobie wyszukiwarke osob ktore zarejestrowaly sie na mojej stronie.
Tabela danych tych osob:
ID | Imie | Nazwisko | Miejscowsc | itd

I teraz problem polega na tym ze wpisujac w formularzu znajdz np. Jan Kowalski, to skrypt pyta sie w do tabelki:
select * from tabelka where nazwisko like '%Jan Kowalski%' and imie like '%Jan Kowalski%'
to zapytanie da 0 wynikow.
Jan Kowalski jest wpisywane w jednym polu.
W jaki sposob zadac pytanie badz przerobic skrypt php aby dojsc do takiej formy:
select * from tabelka where nazwisko like '%Kowalski%' and imie like '%Jan%'?
Czy tworzac indeksy w tabelce dla Imie i Nazwisko badz explod`ujac Jana Kowalskiego na dwa oddzielne wyrazy (tworzac z niego tablice i najpierw przeszukac Jan a potem Kowalski). Czy te dwie metody dadza rozwiazanie? (tablica moze byc malo wydajna przy wiekrzej ilosc slow?)
Go to the top of the page
+Quote Post
 
Start new topic
Odpowiedzi
kilinho
post
Post #2





Grupa: Zarejestrowani
Postów: 24
Pomógł: 0
Dołączył: 8.05.2008

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


No to w jaki sposob jest zrobiona wyszukiwarka osob np. w najpopularniejszym serwisie przyjaciol szkolnych. Wpisujemy w wyszukiwarce np. Jan Kowalski badz Kowalski Jan to zawsze otrzymamy ten sam wynik. Więc jednak da sie to jakos zrobic. Najprawdopodobniej kazde slowo jest przeszukiwane oddzielnie, tylko ze jakos to musieli fajnie zrobic ze tak szybko dziala. Bo tak ponaszemu jak tu piszemy to kazde slowo bedzie przeszukiwane oddzielne:
imie like '%jan%' and nazwisko like '%jan%' and imie like '%kowalski%' and nazwisko like '%kowalski%'
. To jest dobre rozwiazanie jak mamy mala baze, a jezeli bedziemy mieli jakies 100 000 danych do przeszukania, to ten skrypt bedzie dzialal i dzialal.
Prosze o pomoc
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: 26.12.2025 - 05:23