Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: wyszukiwarka
Forum PHP.pl > Forum > Bazy danych > MySQL
pala2222
witam.
chciałbym napisać taką wyszukiwarkę, jak są na forach, czyli:
jak napiszę call of duty 2
to odetnie słowa które mają mniej niż 4 znaki zostanie:
call duty
i teraz zadaje zapytanie do mysql aby wyszukała rekordów zawierających słowa call i duty, w jakieś tam podanej tabeli.

z od dzieleniem wyrazów zawierających min 4 litery to sobie poradzę.
mam problem z tym, jak zadać zapytanie aby za jednym razem szukało dwóch wyrazów bo jak napiszę:
%call%duty% to wyszuka mi wszystko co zawiera call i duty jednocześnie.
a jeśli najpierw %call% a potem w kolejnym zapytaniu %duty% to wyrzuci mi mi 2 razy call i potem będę musiał jakoś kombinować aby pousuwać takie same rekordy.
i jeszcze jedno bo chce żeby były wyszukiwane rekordy zawierający wyrazy, bo jak napiszę %duty% to mozę mi wyskoczyć bdfdutyad, to w tym przypadku wystarczy tylko % duty % ?

to ma być wyszukiwarka do takie mojej strony.

o czymś zapomniałem co powinno być w normalnych wyszukiwarkach takich jak np. na forach?

nospor
zainteresuj się wyszukiwaniem pełnokontekstowym FULL TEXT SEARCHING
pala2222
a byś mógł podać jakiś przykład?
nospor
Wszystko masz opisane tutaj, włącznie z przykładami
http://dev.mysql.com/doc/refman/5.1/en/fulltext-search.html
pala2222
napisałem taki coś
  1. $zapytanie="SELECT `nazwa` FROM `upload` WHERE MATCH (`nazwa`) AGAINST ('call of duty'WITH QUERY EXPANSION)";
  2. $idzapytania = mysql_query($zapytanie);
  3. echo $idzapytania;
  4. $obAmount=0;
  5. while( $wiersz = mysql_fetch_array($idzapytania) ){
  6. echo "<td>".$wiersz[1]."</td>";
  7. }


i nie działa.
co jest nie tak z tym zapytaniem?
nospor
NIe dziala powiadasz....

Zastosuj się proszę do podanych tu porad:
Temat: Jak poprawnie zada pytanie
pala2222
Wielkie dzięki

Rada dla innych, jeśli ktoś odeśle was do powyższego tematu to nie obrażajcie się czy co, tylko przeczytajcie, POMOGŁO

jeszcze raz dzięki

EDIT:
A jak zrobić, żeby wyszukiwało od 3 a nie jak standardowo 4 znaków?
oraz, czy jest możliwość sortowania automatycznego według trafności
czyli jak w bazie mam rekord "call of duty" oraz "call"
to przy zapytaniu 'call of duty'
to wyskoczy mi call of duty, a nie jak teraz to co ma najmniej znaków czyli call
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.