julio 19, 2011

Hacer un buscador
Compartir en FacebookComparte este enlace en Facebook

// Se crea un indice para la búsqueda con los campos que creamos convenientes de la tabla:

ALTER TABLE articulos ADD FULLTEXT(titulo_articulo, texto_articulo);

// Suponiendo que la variable que recogemos por el fromulario se llama "cadena"
// separamos las palabras que puedan existir en la variable cadena
$trozos=explode(" ",$cadena);
// contamos las palabras
$numero=count($trozos);
// si es una sola palabla hacemos una consulta simple
if ($numero==1)
{
   $consulta = "SELECT * FROM articulos WHERE titulo_articulo LIKE '%$cadena%' OR texto_articulo LIKE '%$cadena%'";
}
// si es mas de una palabra...
elseif($numero>1)
{
   $consulta = "SELECT * , MATCH (titulo_articulo, texto_articulo) AGAINST ('$cadena') AS puntuacion FROM articulos WHERE MATCH (titulo_articulo, texto_articulo) AGAINST ('$cadena') ORDER BY puntuacion DESC";
}

Y de ahí operamos con el arreglo devuelto por la consulta y los mostramos por pantalla

No hay comentarios.: