Ver Mensaje Individual
  #1 (permalink)  
Antiguo 19/06/2006, 13:07
gabcrease
 
Fecha de Ingreso: octubre-2005
Mensajes: 7
Antigüedad: 18 años, 6 meses
Puntos: 0
Ayuda con Match...Against

Hola pues estoy creando un buscador con este algoritmo, pero tengo una serie de problemas, aqui los expecifico.

1.- Primero compruebo si el usuario a escrito 1 o mas palabras, para ver que metodo voy a utilizar.
Código:
$palabra = ucwords(Limpiar($_POST['palabra']));
 $trozos = explode(" ", $palabra);
 $palabras = count($trozos);
 
 #Si solo escribio 1 palabra, usamos el precedimiento LIKE
 if($palabras == 1) {
 
 $busqueda = Query("articulos", "WHERE titulo LIKE '%$palabra%' or contenido LIKE '%$palabra%' LIMIT 50");
 $pr = 'No';
 
 #Si escribio mas de 2 usamos MATCH...AGAINST
 } elseif($palabras > 1) {
 
 $busqueda = mysql_query("SELECT id, titulo, fecha, leido, autor, MATCH (titulo, contenido) AGAINST ('".($palabra)."') AS score FROM azp_articulos WHERE MATCH (titulo, contenido) AGAINST ('".($palabra)."') ORDER  BY score DESC LIMIT 50");
 $pr = 'Si';
 
 }
Bueno aqui si pongo una palabra si funciona el script, pero si coloco 2 o mas... Al parecer no las busca.

A continuación tengo el siguiente codigo, para comprobar si la encontro...

Código:
$total = NumRows($busqueda);
 #Vemos si encontramos algun articulo 
  if($total == 0) {
  
   $sql = Query("articulos_busquedas", "WHERE busqueda LIKE '%$palabra%'");
   $total = NumRows($sql);
   $ip = Ip();
   $fecha = Fecha();
   
    if($total == 0) {
	
    Insert("articulos_busquedas", "busqueda, frecuencia, fecha, ip", "'$_POST[palabra]', '1', '$fecha', '$ip'");
    
	} else {
    
	$row = GetRows($sql);
    Update("articulos_busquedas", "frecuencia = (frecuencia) + '1', fecha = '$fecha', ip = '$ip' WHERE id = '$row[id]' LIMIT 1");
    
	} Free($sql);
 
echo '<p align="center"><b><font face="Verdana" size="1">Lo Sentimos, su busqueda no fue encontrada, pero ha sido almacenada en nuestra base de datos para anexarla lo mas pronto posible, esperamos su comprensión.<br><a href="javascript:history.go(-1)">Regresar</a></font></b></p>';

   } else {
 
  #-Imprimimos Resultados
}
Pasando esa busqueda siempre me tira que no la encontro, aunque si exista el articulo en la base de datos.


Alguien sabe que tengo mal? de antemano gracias.