Ver Mensaje Individual
  #6 (permalink)  
Antiguo 29/05/2011, 11:14
charlyta
 
Fecha de Ingreso: junio-2008
Mensajes: 291
Antigüedad: 15 años, 10 meses
Puntos: 9
Respuesta: optimizar código

Hola. Ya utilizo full text, tan sólo quiero mejorar esta parte porque con full text no es fiable:

Código PHP:
Ver original
  1. if(isset($_POST['submitted'])) {
  2. if ($clave<>''){  
  3.  
  4. {
  5.  
  6.    $trozos=explode(" ",$clave);
  7.    $numero=count($trozos);
  8.   if ($numero==1)
  9.    {
  10.   $buscar="SELECT * FROM $db WHERE NOMB LIKE '%$clave%' OR AUTOR LIKE '%$clave%'
  11. OR TEMA LIKE '%$clave%' OR COLECCION LIKE '%$clave%' OR EDITORIAL LIKE '%$clave%'
  12. OR LIBRE LIKE '%$clave%' OR OBSERVA LIKE '%$clave%' order by $ordenarpor $orden";
  13.   }
  14.   elseif ($numero>1)
  15.    {
  16.  
  17.    $buscar= "SELECT * , MATCH (NOMB, AUTOR, TEMA, COLECCION, EDITORIAL, LIBRE, OBSERVA)
  18. AGAINST ('$clave' IN BOOLEAN MODE) AS Score FROM $db WHERE MATCH (NOMB, AUTOR, TEMA,
  19. COLECCION, EDITORIAL, LIBRE, OBSERVA) AGAINST ('$clave' IN BOOLEAN MODE) ORDER BY Score DESC ";
  20. }
  21. }
  22. }}else
  23.  
  24.  {
  25.  $buscar = "SELECT * FROM $db WHERE NOMB LIKE '%$NOMB%' AND AUTOR LIKE '%$AUTOR%'
  26. AND TEMA LIKE '%$TEMA%'  AND EDITORIAL LIKE '%$EDITORIAL%'  OR TEMA LIKE '%$TEMA%' AND
  27. (AUTOR LIKE '%$AUTOR%' AND EDITORIAL LIKE '%$EDITORIAL%' AND NOMB LIKE '%$NOMB%') OR
  28. NOMB LIKE '%$NOMB%' AND (AUTOR LIKE '%$AUTOR%' AND EDITORIAL LIKE '%$EDITORIAL%' AND
  29. TEMA LIKE '%$TEMA%') order by $ordenarpor $orden";
  30.  }

utilizando lo anterior a este post, pudo encontrar busquedas multicriterio con frases en cada campo..