miércoles, 13 de junio de 2007

Como buscar datos de MySQL con PHP

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:

Kalvin Manson dijo...

Superpoderoso el contenido, estava engalletado porque no encontrava nada sobre como buscar, de echo no recordava el LIKE jejeje