Ver Mensaje Individual
  #15 (permalink)  
Antiguo 14/01/2008, 13:40
Avatar de destor77
destor77
 
Fecha de Ingreso: noviembre-2004
Ubicación: Gálvez, Santa Fe, Argentina
Mensajes: 2.654
Antigüedad: 15 años, 2 meses
Puntos: 43
Re: Problema con sistema de busquedas.

mira yo use el mismo ejemplo que vos y no me salia al final tuve que modificar algunas cosas y el codigo termino asi:
Código PHP:
/**
 * MODULO BUSCADOR
 * ----------------
 * Modulo para buscar dentro del blog
 */
?>
<h2>Resultados de la Busqueda:</h2><br><br>
<?
    $busqueda
=$_POST['search'];
    
/*$sql="SELECT  * , MATCH (titulo,texto, texto_a) AGAINST ('$busqueda') AS puntuacion
            FROM post WHERE  MATCH (titulo,texto, texto_a) AGAINST ('$busqueda')
            ORDER  BY puntuacion DESC";*/
    // DEBO PREPARAR LOS TEXTOS QUE VOY A BUSCAR si la cadena existe
    
if ($busqueda<>''){
      
//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 post WHERE texto LIKE  '%$busqueda%' OR titulo LIKE  '%$busqueda%' 
        OR texto_a 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 ( titulo,texto, texto_a )
          AGAINST (  '$busqueda' ) AS Score FROM post WHERE
          MATCH ( titulo,texto, texto_a ) AGAINST (  '$busqueda' ) ORDER  BY Score DESC"
;
      }

    }
    
$result mysql_query($cadbusca);
    if (!
$result){
        echo 
"No se encontraron datos para esa busqueda";
    }
    else{
    while ( 
$row mysql_fetch_array$resultMYSQL_ASSOC ) ){?>
        <h4><? echo'* - <a href="?mod=ver_post&amp;id='.$row['id_post'].'" title="'.$row['titulo'].'">'.$row['titulo'].'</a>';?></h4>
    <?      }
        }
?>
espero que te sirva salu2