JavaScript - Dividir una consulta en páginas

 
Vista:

Dividir una consulta en páginas

Publicado por ruben (1 intervención) el 28/11/2003 13:22:10
Hola a todos:

Quizá el título de mi pregunta no es el más adecuado, por eso. voy a tratar de explicarme un poco mejor.
Tengo una página en ASP que es el resultado de una consulta a una base de datos, y lo que quiero conseguir es que, por ejemplo, si el resultado es de de más de 10 registros, que salgan en varias páginas al estilo google, que te pone debaje 1,2,3,4,5,6,7.... y vas pinchando en los números y vas a los resultados contenidos en esa página.
Pues bien, mi intención es conseguir eso, pero en mi caso, si son 34 registros, por ejemplo, pues que en la página 1 saque del 1 al 10, en la dos del 11 al 20, etc... y que ponga debajo 1,2,3,4 y que si pincho en el 3, por ejemplo, me salgan los resultados de mi consulta del 21 al 30.
Espero que me hayais entendido, y si me podeis ayudar, gracias por adelantado.
Un Saludo.
Rubén
Valora esta pregunta
Me gusta: Está pregunta es útil y esta claraNo me gusta: Está pregunta no esta clara o no es útil
0
Responder

RE:Dividir una consulta en páginas

Publicado por VaGo (171 intervenciones) el 29/11/2003 04:35:15
:o) Esa pregunta debieras hacerla en el foro de ASP :o)

¡¡¡Pero ya que esta aquí, y para que no pierdas tiempo!!!

Conceptualmente debes hacer lo siguiente:

Declara una variable que contenga el número de registros a mostrar por página

nRegistrosPorPagina = 10 'Por ejemplo

Luego declara una variable que contenga el número de la página, debes considerar que luego deberás pasar el número de pagina como parámetro

if request("nNumeroPagina") <> "" then
nNumeroPagina = request("nNumeroPagina")
else
nNumeroPagina = 1
end if

Antes de recorrer el conjunto de datos, mueve el cursos al primer registro que se debe mostrar en la página actual:

datos.moveTo((nNumeroPagina * nRegistrosPorPagina - nNumeroPagina) + 1)

Cuando recorras el conjunto de datos, mostrando los registros, agrega a la condición del ciclo, la siguiente condición:

AND nNumeroDeRegistrosMostrados < nRegistrosPorPagina

Se supone que nNumeroDeRegistrosMostrados lo inicializas en 0 y lo incrementas dentro del ciclo.

Luego para obtener el número de páginas que debes mostrar haces lo siguiente:

nCantidadDePaginas = int(datos.RecordCount / nRegistrosPorPagina)
if datos.RecordCount mod nRegistrosPorPagina <> 0 then
nCantidadDePaginas = nCantidadDePaginas + 1
end if

Finalmente cuando coloques los hipervínculos de los números de páginas, debes agregar el parámetro nNumeroPagina, indicando la página correspondiente.

Cualquier duda o consulta, no dudes en preguntar en el foro de ASP:o)
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar

Me acorde de una forma + facil

Publicado por VaGo (171 intervenciones) el 29/11/2003 04:52:10
Si mal no recuerdo el recordset tiene una propiedad llamada PageSize y otra llamada CacheSize (verifica que sean esos los nombres), en estas debes colocar el número de registros por página. Hay otra propiedad llamada AbsolutePage (También verifícalo) que debe contener el número de la página actual.

Con esas propiedades, te ahorras un par de variables y la condición adicional en el ciclo.

Insisto, pregunta en el foro de ASP
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar