Ver Mensaje Individual
  #1 (permalink)  
Antiguo 08/04/2014, 16:04
rakshaka
 
Fecha de Ingreso: mayo-2009
Mensajes: 166
Antigüedad: 15 años
Puntos: 2
Sonrisa Problema con Busqueda avanzada

Tengo este c´ñodigo. Y si bien siempre me funcionó esta vez no, pero solo cuando uso el espacio en la busqueda.

Si busco sin espacio me da la lista pero cuando uso deos palabras me da el error.

mysql_fetch_array() expects parameter 1 to be resource, boolean given in

Los campos ton todos TEXT en la base de datos.

No se porque el error.

Código PHP:
Ver original
  1. <?php
  2. include ('config.php');
  3. if (isset($_POST['buscar'])){
  4. $busqueda= $_POST['buscar'];
  5. }else{
  6.     $busqueda=0;
  7. }
  8. // BUSCAR si la cadena existe
  9. if ($busqueda<>''){
  10.    //CUENTA EL NUMERO DE PALABRAS
  11.    $trozos=explode(" ",$busqueda);
  12.    $numero=count($trozos);
  13.   if ($numero==1) {
  14.    //SI SOLO HAY UNA PALABRA DE BUSQUEDA SE ESTABLECE UNA INSTRUCION CON LIKE
  15.    $ListaDeProductos=mysql_query("SELECT * FROM articulos WHERE Concepto LIKE '%$busqueda%' OR Ref_Pro LIKE '%$busqueda%' OR Categoria3 LIKE '%$busqueda%' LIMIT 100");
  16.   } else if ($numero > 1) {
  17.   //SI HAY UNA FRASE SE UTILIZA EL ALGORTIMO DE BUSQUEDA AVANZADO DE MATCH AGAINST
  18.   //busqueda de frases con mas de una palabra y un algoritmo especializado  
  19.   $ListaDeProductos=mysql_query("SELECT *, MATCH (Concepto,Ref_Pro) AGAINST ('".$busqueda."' IN BOOLEAN MODE) AS coincidencias FROM articulos WHERE MATCH (Concepto,Ref_Pro) AGAINST ('" . $busqueda . "' IN BOOLEAN MODE) ORDER BY coincidencias DESC");
  20. }
  21. }
  22. ?>