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...