1: warszawa, stolica, polska, unia
2: polska, ue, unia
3: poznan, krakow, szczecin, ue
Gdy wyszukujemy słowa (polska, ue, unia), jako pierwsze powinno pokazac sie 2,1,3. Po rozbiciu frazy na słowa, sam kod jest kombinacją tych słów:
<?php $kat1=\"SELECT * from baza WHERE fraza LIKE %$a% AND fraza LIKE %$b% AND fraza LIKE %$c%\" $kat2=\"SELECT * from baza WHERE fraza LIKE %$a% AND fraza LIKE %$c% AND fraza LIKE %$b%\" $kat3=\"SELECT * from baza WHERE fraza LIKE %$b% OR fraza LIKE %$a% AND fraza LIKE %$c%\" $kat4=\"SELECT * from baza WHERE fraza LIKE %$b% AND fraza LIKE %$c% AND fraza LIKE %$a%\" $kat5=\"SELECT * from baza WHERE fraza LIKE %$c% AND fraza LIKE %$b% AND fraza LIKE %$a%\" $kat5=\"SELECT * from baza WHERE fraza LIKE %$c% AND fraza LIKE %$a% AND fraza LIKE %$b%\" ?>
W ten sposób powstało mi 5 poleceń i wystarczy pokazać rekordy które odpowiadają $kat1, $kat2, $ka3,... . Czy jest jakiś inny sposób na stworzenie wyszukiwarki która zwróci rekordy według trafności. Z 3 słowami można sobie jeszcze poradzić, ale gdy użytkownik wpisze np. 5 słów do wyszukania to kombinacja tych słów stworzy sporą liczbę poleceń SQL.