Ahi les va el codigo para hacer una busqueda en tablas INNODB, basicamente hay que crear indices FULLTEXT en los campos en los que queramos buscar...
$trozos=explode(" ",$busqueda); //hacemos la busqueda un arreglo de palabras
$numero=count($trozos); //checamos cuantas palabras trae el arreglo
//A continuacion vienen Los querys
if ($numero==1) {
//SI SOLO HAY UNA PALABRA DE BUSQUEDA SE ESTABLECE UNA INSTRUCION CON LIKE
$cadbusca=mysql_query("SELECT * FROM foros WHERE titulo_foro LIKE '%$busqueda%' order by fecha_foro desc;");
$cadbusca2=mysql_query("SELECT * FROM respuesta_foro WHERE respuesta LIKE '%$busqueda%' order by fecha desc;");
}
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=mysql_query("SELECT id_foro, titulo_foro, fecha_foro, MATCH ( titulo_foro ) AGAINST ( '$busqueda' ) AS Score FROM foros WHERE MATCH ( titulo_foro) AGAINST ( '$busqueda' ) ORDER BY fecha_foro DESC;");
$cadbusca2=mysql_query("SELECT id_foro, id_respuesta, respuesta, fecha, MATCH ( respuesta ) AGAINST ( '$busqueda' ) AS Score FROM respuesta_foro WHERE MATCH ( respuesta ) AGAINST ( '$busqueda' ) ORDER BY fecha DESC;");
}
Y listo, el diseño y lo demas depende de ustedes, SUERTE!!!!
1 comentario:
Superpoderoso el contenido, estava engalletado porque no encontrava nada sobre como buscar, de echo no recordava el LIKE jejeje
Publicar un comentario