Ver Mensaje Individual
  #2 (permalink)  
Antiguo 19/11/2009, 09:25
Avatar de Fairy_Boy
Fairy_Boy
 
Fecha de Ingreso: octubre-2009
Ubicación: Kokiri Forest
Mensajes: 235
Antigüedad: 14 años, 6 meses
Puntos: 5
Respuesta: Problema con un busacador php y mysql

Hola.
una "sugerencia" es que al obtener la cadena a buscar, la trates para contar sus partes.
Código PHP:
<?php
$partes
=explode(" ",$cad_a_bus); 
$num=count($partes);
?>
luego, si tienes 1 palabra, utilizas 1 consulta y si son mas, utilizas otra.asi:
Código PHP:
<?php
if ($num==1){ 
        
//SI SOLO HAY UNA PALABRA DE BUSQUEDA SE ESTABLECE UNA INSTRUCION CON LIKE 
        
$cadbusca=mysql_query("SELECT * FROM tu_tabla WHERE (id LIKE '%".$cad_a_bus."%') OR (campo_2 LIKE '%".$cad_a_bus."%') OR (campo_3 LIKE '%".$cad_a_bus."%')") or die("MySQL Error: ".mysql_error());
    }else{ 
        
//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 * FROM tu_tabla WHERE MATCH (campo_nombre_completo_ej) AGAINST ( '".$cad_a_bus."' IN BOOLEAN MODE ) ORDER BY campo_nombre_completo_ej DESC") or die("MySQL Error: ".mysql_error());
    }
?>
es un metodo sencillo, yo lo ocupo en una busqueda pequeña y funciona perfecto.
ojala sirva de algo
Saludos!