Znalazłem skrypt który bazuje na polach oznaczonych FULLTEXT, przekopiowałem ten skrypt i utworzylem baze danych zgodnie z instrukcjami zawartymi na
tej stroniePlik advs.php
<?php
/* call this script "advs.php" */
if(!$c) {
?>
<form action="advs.php?c=1" method=POST>
<b>Znajdź wyniki</b><br>
Jakakolwiek z tej frazy <input type="text" length=40 name="any"> <br>
Wszystkie frazy z <input type="text" length=40 name="all"> <br>
Żadna z tych fraz <input type="text" length=40 name="none"> <br>
<input type="submit" value="Szukaj">
</form>
<?php
} else if($c) {
if((!$all) || ($all == "")) { $all = ""; } else { $all = "+(".$all.")"; }
if((!$any) || ($any == "")) { $any = ""; }
if((!$none) || ($none == "")) { $none = ""; } else { $none = "-(".$none.")"; }
$query = "
SELECT *,
MATCH(title, story) AGAINST ('$all $none $any' IN BOOLEAN MODE) AS score
FROM compsite
WHERE MATCH(title, story) AGAINST ('$all $none $any' IN BOOLEAN MODE)";
if(!$artm1) {
}
echo "<b>Article Matches</b><br>"; echo "<tr><td>Score </td><td>Title </td><td>Body</td></tr>"; $val = round($artm2['score'], 3
); $val = $val*100;
echo "<tr><td>$val</td>"; echo "<td>{$artm2['title']}</td>"; echo "<td>{$artm2['body']}</td></tr>"; }
}
else {
echo "No Results were found in this category.<br>"; }
}
?>
Zapytanie do bazy
CREATE TABLE `articles` (
`body` text,
`title` varchar(250) DEFAULT NULL,
`id` int(11) NOT NULL AUTO_INCREMENT,
PRIMARY KEY (`id`),
FULLTEXT KEY `body` (`body`,`title`)
) ENGINE=MyISAM DEFAULT CHARSET=latin1 AUTO_INCREMENT=4 ;
Mimo wszystko skrypt nie działa i zwraca mi na nowo formularz, nie wyświetlając wyników. Ktoś wie dlaczego?