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?) |
|
|
|
![]() |
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 |
|
|
|
kilinho Prosta wyszukiwarka a jednak problem 28.06.2008, 23:27:54
milupo2nd jeśli zawsze ktos bedzie szukal w formie [imie]_[n... 28.06.2008, 23:39:53
nithajasz Najlepiej przerób formularz na oddzielne pola imie... 29.06.2008, 01:10:15
wlamywacz Bo tam nie używają LIKE gdyż to zabija bazę. 29.06.2008, 09:17:16
kilinho Mozna dokladniej, tworza indeksy dla tabeli? 29.06.2008, 09:26:09
wlamywacz Na takie tematy to na PHP Pro
Temat: wyszukiwarka 29.06.2008, 09:27:52
bim2 Bo po co dawać like? Jan to Jan... Nie chce żeby m... 29.06.2008, 10:20:13
wlamywacz Źle
[SQL] pobierz, plaintext WHERE nazwisko = 'Jan... 29.06.2008, 10:59:42
kilinho Skrypcik generujacy zapytanie do bazy:
[PHP] pob... 29.06.2008, 12:05:05
bim2 Ma. Nie powiem troche to zagmatwałeś. Mo... 29.06.2008, 12:18:06
kilinho EDIT: teraz jest tak:
ten skrypt da nam teraz
[PHP... 29.06.2008, 13:29:26
bim2 Jak nie wydajne? Maksymalnie ktoś wpisze 3 wyrazy.... 29.06.2008, 18:39:03 ![]() ![]() |
|
Aktualny czas: 26.12.2025 - 05:23 |