Hola a todos... soy nuevo de este foro, aunque me ha servido varias veces de utilidad
Estoy programando un buscador y estoy intentando utilizar la función MATCH ... AGAINST
CODIGO ES EL SIGUIENTE:
<?php
//Datos de acceder al SQL
$usuario = "prueba";
$servidor = "localhost";
$password = "prueba";
//Acceder a la base de datos
$SQL_BD = "noticias";
//Funciones de Conexion a la base de datos
$SQL_linea = mysql_connect($servidor, $usuario,$password);
mysql_select_db($SQL_BD, $SQL_linea);
//Acceder a la Tabla
//Parametro TITULAR
$busqueda = $_REQUEST['titulo'];
$busqueda2 = $_REQUEST['detalle'];
if ($busqueda<>''){
$trozos=explode(" ",$busqueda);
$numero=count($trozos);
if ($numero==1) {
$SQLid= "SELECT titular, descripcion FROM noticias WHERE titular LIKE '%$busqueda%' AND descripcion LIKE '%$busqueda2%' LIMIT 50";
}
elseif ($numero>1)
{
/*
$SQLid="SELECT * FROM noticias WHERE MATCH ( titular, descripcion ) AGAINST ( '%$busqueda%' ) ORDER BY Score DESC LIMIT 50";
*/
$cadbusca="SELECT titular , descripcion MATCH ( titular , descripcion ) AGAINST ( '$busqueda' ) AS Score FROM noticias WHERE MATCH ( titular, descripcion ) AGAINST ( '$busqueda' ) ORDER BY Score DESC LIMIT 50";
}
}
$result=mysql($cadbusca,$SQL_linea);
While($row=mysql_fetch_object($result))
{
//Mostramos los titulos de los articulos o lo que deseemos...
$referencia=$row->codigo;
$titulo=$row->titular;
echo $referencia." - ".$titulo."<br>";;
}
/*
//SALIDA del resultado
$SQLresultado = mysql_query($SQLid, $SQL_linea);
echo $SQLresultado;
echo '<div>';
While ($SQLrow=mysql_fetch_array($SQLresultado))
{
echo '<p>'.$SQLrow['titular'].'</p>';
echo '<p>'.(".......................................... ................................................") .'</p>';
}
echo '</div>';
*/
?>
el problema es al hacer una busqueda con mas de una palabra.
agradezco vuestra ayuda de atemano