Ver Mensaje Individual
  #4 (permalink)  
Antiguo 03/01/2009, 11:21
bocasecaman
 
Fecha de Ingreso: agosto-2007
Mensajes: 101
Antigüedad: 16 años, 8 meses
Puntos: 1
Respuesta: MATCH AGAINST error

Lo he mejorado, pero me sigue dando error al buscar varias palabras, con una palabra va bien:

Warning: mysql_fetch_array(): supplied argument is not a valid MySQL result resource in /mnt/local/home/domi/dominio/buscador.php on line 21

Código PHP:
//CUENTA EL NUMERO DE PALABRAS
$trozos=explode(" ",$busqueda);
$numero=count($trozos);
    if (
$numero==1) {
//SI SOLO HAY UNA PALABRA DE BUSQUEDA SE ESTABLECE UNA INSTRUCION CON LIKE
        
$cadbusca="SELECT *  FROM productos WHERE nombre LIKE '%$busqueda%' OR categoria LIKE '%$busqueda%' OR texto LIKE '%$busqueda%' OR marca LIKE '%$busqueda%'";    
    } 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="SELECT *, MATCH ( nombre, categoria, texto, marca )
        AGAINST ( '$busqueda' ) AS Score FROM productos WHERE
        MATCH ( nombre, categoria, texto, marca ) AGAINST ( '$busqueda' ) ORDER BY Score DESC LIMIT 50"
;
    }
  
$result=mysql_query($cadbusca);
  while (
$row=mysql_fetch_array($result))
  {
      echo 
"resultado: ".$row['nombre'];
  }
?> 
Gracias de antemano

Última edición por bocasecaman; 05/01/2009 a las 08:15