Ver Mensaje Individual
  #1 (permalink)  
Antiguo 23/09/2005, 13:03
Bluesman74cl
 
Fecha de Ingreso: marzo-2003
Ubicación: onde toy?
Mensajes: 1.437
Antigüedad: 22 años, 1 mes
Puntos: 9
ayuda para optimizar un resultado...

estimados...tengo el siguiente asunto..



tengo un metodo de busquedas por keywords...

en una página tengo un input dentro del cual pueden ingresar palabra claves separadas por comas (",") con lo cual yo busco en la base de datos por aquellos resultados que coincidan con las palabras...
el problema que tengo es que.. si vienen más de 1 palabra hace lo siguiente

recojo las variables...
las separo en un arreglo de acuerdo a las comas (arrVariables= split(variable, ",")
y luego hago un recorrido para hacer la consulta por cada una de las palabras...
osea
Código:
for i = 0 to ubound(arrKey)
	
	key = trim(arrkey(i))
	
	if sw <> 1  then
	
	set rs=Server.CreateObject("ADODB.Recordset")
    sql = "select extension, titulo, resumen, archivo, autor from kb_biblioteca, kb_keywords where kb_biblioteca.id_archivo = kb_keywords.id_tema and keyword  like '%"&key&"%' and kb_biblioteca.extension <> '"&doc&"'"
      
	  rs.PageSize=TamPagina
      rs.CacheSize=TamPagina
      'Abro el recordset
      rs.Open SQL, Conn, 1, 2
	  if not rs.eof  then
	     rs.AbsolutePage=PaginaActual
   
           ' Abro el recordset

           'Cuento las páginas
         PaginasTotales=rs.PageCount

           'Compruebo que la pagina actual está en el rango
         if PaginaActual < 1 then 
             PaginaActual = 1
         end if
         if PaginaActual > PaginasTotales then
            PaginaActual = PaginasTotales
         end if
      end if

	if PaginasTotales=0 then

           Response.Write("No se encontraron resultados para """)
	   response.write(mensaje&"""")
	    
    else   
          mientras no sea fin de recorset  muetro los resultados
    end if


loop

el problema es que si son dos o mas palabras.. asi encuentre o no rsultados los mensajes se repiten tantas veces como palabras haya ingresado...

por ejemplo : Seguridad, Soldadura, Sol

si no encontró registros....

"no se encontró un resultado para "Seguridad, Soldadura, Sol""
"no se encontró un resultado para "Seguridad, Soldadura, Sol""
"no se encontró un resultado para "Seguridad, Soldadura, Sol""



cuando lo que quiero es que lo haga una sola vez... me podrian ayudar a optimizar esta busqueda?? desde ya mil gracias...
__________________
Buena Vida...
Francisco