como paginar un resultado de una busqueda

Raul Campa B
23 de Marzo del 2005
Sobre el codigo que esta en la pagina
http://www.programacion.com/asp/articulo/paginacion_asp/

funciona bien, pero si intento paginar una busqueda con una instruccion
sql = "SELECT * FROM libros where autor like"& %buscado% &"

en donde buscado es una variable que recojo de un formulario en otra pagina html.

buscado=request.form("txtBuscado")

al hacer la busqueda muestra los resultados y el numero de enlaces correspondientes al numero de paginas de acuerdo a los resultados, pero al hacer click a un enlace se pierde el resultado de la busqueda, es decir como si la instruccion sql hubiera sido desde un principio

sql = "SELECT * FROM libros"

¿como hago para no perder el resultado de la busqueda y por lo tanto la paginacion correcta?



pablinweb
23 de Marzo del 2005
lo que podes hacer es pasarcelo por la direccion y levantarlo con request.querystring o lo que hago yo es una cookie con el valor para no perderlo jamas

Saludos

Raul Campa
23 de Marzo del 2005
Y como hago eso, porfa, me sirve mas una linea de codigo que toda una explicacion extensa de que debo hacer

julian
23 de Marzo del 2005
algo asi es a lo que te refieres?

en pag0.asp
<%buscado=request.form("txtBuscado")
%>
<a href="pag1.asp?buscado=<%=buscado%>">pag1<a>

en la otra pagina, en pag1.asp
<%request.querystring("buscado")%> contiene la cadena a buscar

Raul Campa
23 de Marzo del 2005
pero solo estoy utilizando una pagina asp, ¿Habra alguna forma de guardar la cadena de busqueda en una cookie para que no se pierda?

Zulu
23 de Marzo del 2005
el cdigo exacto para la bsqueda sera

sql = "SELECT * FROM libros where autor like '%" & buscado &"%'"

en lugar de " & %buscado% & "

quiz por eso falle la bsqueda

Raul Campa
23 de Marzo del 2005
Ya lo resolvi, de la siguiente manera:

Primero cree una cookie en la pagina asp
<% if request.form("txtProyBuscar")<>"" then
Response.Cookies("CadenaBuscada")=request.form("txtProyBuscar")
end if
%>
<HTML> ' debe crearse antes del codigo html

El if es para que lea la cadena de la forma solamente la primera vez, de lo contrario en la siguiente pagina leera otra vez el valor de la forma y esta ya se habra perdido y estariamos otra vez donde empezamos.

Le asigno el valor de la cookie a una variable
ProyBuscado=Request.Cookies ("CadenaBuscada")

y realizo la consulta
SQL1 = "SELECT * FROM Proyectos WHERE TituloProy LIKE '%" & ProyBuscado & "%'"

Esta es la forma en que resolvi el problema, pero de todas formas si alguien conoce otro metodo para resolverlo me serviria pues aun no se que problemas tenga este, aunque por lo pronto se ve muy funcional.

Gracias a todos los que respondieron, con sus ideas fue que llegue a esto

Raul Campa
23 de Marzo del 2005
Y efectivamente, ya surgieron los detalles, uno de los problemas con este codigo es que si en la pagina html con la forma dejo la forma en blanco, da como resultado la ultima busqueda que se realizo, porque se sigue manteniendo el valor de la cookie, pero ya es menos bronca