Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

 
Reply to this topicStart new topic
> wyszukiwarka
pala2222
post
Post #1





Grupa: Zarejestrowani
Postów: 46
Pomógł: 0
Dołączył: 3.03.2009

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


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?

Go to the top of the page
+Quote Post
nospor
post
Post #2





Grupa: Moderatorzy
Postów: 36 557
Pomógł: 6315
Dołączył: 27.12.2004




zainteresuj się wyszukiwaniem pełnokontekstowym FULL TEXT SEARCHING


--------------------

"Myśl, myśl, myśl..." - Kubuś Puchatek || "Manual, manual, manual..." - Kubuś Programista
"Szukaj, szukaj, szukaj..." - Kubuś Odkrywca || "Debuguj, debuguj, debuguj..." - Kubuś Developer

Go to the top of the page
+Quote Post
pala2222
post
Post #3





Grupa: Zarejestrowani
Postów: 46
Pomógł: 0
Dołączył: 3.03.2009

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


a byś mógł podać jakiś przykład?
Go to the top of the page
+Quote Post
nospor
post
Post #4





Grupa: Moderatorzy
Postów: 36 557
Pomógł: 6315
Dołączył: 27.12.2004




Wszystko masz opisane tutaj, włącznie z przykładami
http://dev.mysql.com/doc/refman/5.1/en/fulltext-search.html


--------------------

"Myśl, myśl, myśl..." - Kubuś Puchatek || "Manual, manual, manual..." - Kubuś Programista
"Szukaj, szukaj, szukaj..." - Kubuś Odkrywca || "Debuguj, debuguj, debuguj..." - Kubuś Developer

Go to the top of the page
+Quote Post
pala2222
post
Post #5





Grupa: Zarejestrowani
Postów: 46
Pomógł: 0
Dołączył: 3.03.2009

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


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?
Go to the top of the page
+Quote Post
nospor
post
Post #6





Grupa: Moderatorzy
Postów: 36 557
Pomógł: 6315
Dołączył: 27.12.2004




NIe dziala powiadasz....

Zastosuj się proszę do podanych tu porad:
Temat: Jak poprawnie zada pytanie


--------------------

"Myśl, myśl, myśl..." - Kubuś Puchatek || "Manual, manual, manual..." - Kubuś Programista
"Szukaj, szukaj, szukaj..." - Kubuś Odkrywca || "Debuguj, debuguj, debuguj..." - Kubuś Developer

Go to the top of the page
+Quote Post
pala2222
post
Post #7





Grupa: Zarejestrowani
Postów: 46
Pomógł: 0
Dołączył: 3.03.2009

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


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

Ten post edytował pala2222 26.04.2010, 09:13:44
Go to the top of the page
+Quote Post

Reply to this topicStart new topic
1 Użytkowników czyta ten temat (1 Gości i 0 Anonimowych użytkowników)
0 Zarejestrowanych:

 



RSS Aktualny czas: 19.08.2025 - 05:28