Código PHP:
//cadena de conexion
$link = mysql_connect("localhost","user","passw");
mysql_select_db("noticias");
// DEBO PREPARAR LOS TEXTOS QUE VOY A BUSCAR si la cadena existe
if ($busqueda<>''){
//CUENTA EL NUMERO DE PALABRAS
$trozos=explode(" ",$busqueda);
$numero=count($trozos);
if ($numero==1) {
//SI SOLO HAY UNA PALABRA DE BUSQUEDA SE ESTABLECE UNA INSTRUCION CON LIKE
$cadbusca="SELECT titulo, subtitulo FROM noticias WHERE VISIBLE =1
AND titulo LIKE '%$busqueda%' OR subtitulo LIKE '%$busqueda%' LIMIT 50";
} elseif ($numero>1) {
//SI HAY UNA FRASE SE UTILIZA EL ALGORTIMO DE BUSQUEDA AVANZADO DE MATCH AGAINST
//busqueda de frases con mas de una palabra y un algoritmo especializado
$cadbusca="SELECT titulo, subtitulo, id_noticia MATCH ( subtitulo, titulo )
AGAINST ( '$busqueda' ) AS Score FROM noticias WHERE
MATCH ( subtitulo, titulo ) AGAINST ( '$busqueda' ) ORDER BY Score DESC LIMIT 50";
}
$result=mysql_query($cadbusca,$link);
While($row=mysql_fetch_object($result))
{
//Mostramos los titulos de los articulos o lo que deseemos...
$titulo=$row->titulo;
$subtitulo=$row->subtitulo;
echo $titulo." - ".$subtitulo."<br>";
}
}
Saludos