Dziś postanowilem "stuningować" troszke moja serwisowa wyszukiwarkę - wcześniejsza była malo inteligentna ponieważ gdy w bazie znajdowal sie rekord o domyślnej nazwie np. "Lord of the Ring", w momencie gdy internauta wpisal "the lord of the ring" wyszukiwarka nic nie znajdowała. Teraz troszke podrasowalem zapytanie jednak nadal cos nie pasuje. Otóż:
<?php
$word = \"pirates matrix wredne\";
$word_e = explode(\" \", $word); for($i=0;$i<count
(explode(\" \", $word));$i++) {
$word_s .= \"tytulen OR tytulpl LIKE '%$word_e[$i]%' OR \";
}
$zapytanie = \"SELECT kolumny FROM tabela WHERE 1 AND ($word_s) \";
echo \"[Film] <strong>\".$wiersz['tytulpl'].\"</strong> (\".$wiersz['tytulen'].\") - \".$wiersz['date'].\"<br>\"; }
?>
Zapytanie select wyglada taK:
<?php
$zapytanie = \"SELECT id, tytulpl, tytulen, prodate FROM filmy WHERE 1 AND (tytulen OR tytulpl LIKE '%pirates%' OR tytulen OR tytulpl LIKE '%matrix%' OR tytulen OR tytulpl LIKE '%wredne%') \";
?>
Problem polega na tym ze zwraca mi takie rekordy ktore zupelnie nie pasują do slów kluczowych:
<?php
[Film] Matrix (Matrix, The) - 1999
[Film] Matrix Reaktywacja (Matrix Reloaded) - 2002
[Film] Matrix Rewolucje (Matrix Revolutions) - 2003
[Film] 28 dni później (28 Days Later) - 2002
[Film] Formuła (51st State, The) - 2002
[Film] Za szybcy za wściekli (2 Fast 2 Furious) - 2003
[Film] 28 dni (28 Days) - 2000
[Film] 25. godzina (25th Hour) - 2002
[Film] 13 wojownik (13th warrior, The) - 1999
[Film] 21 gramów (21 Grams) - 2003
[Film] Osiem i pół (8 1/2) - 1963
[Film] 50 pierwszych randek (50 First Dates) - 2004
[Film] Wredne dziewczyny (Mean Girls) - 2004
?>
Czy mozna coś z tym zrobić?