Ver Mensaje Individual
  #4 (permalink)  
Antiguo 16/10/2006, 05:01
Avatar de 3pies
3pies
Colaborador
 
Fecha de Ingreso: diciembre-2003
Ubicación: Desde una destilería
Mensajes: 2.584
Antigüedad: 20 años, 6 meses
Puntos: 144
Parte 2:
Código:
'Paginación de los resultados:
    Dim mostrar 'cantidad de registros a mostrar por página                     
    Dim cant_paginas 'cantidad de páginas que recibimos de la base de datos
    Dim pagina_actual 'la página que mostramos
    Dim registro_mostrado 'contador utilizado para mostrar los registros en las páginas
    Dim i 'variable loop
    'Podemos modificar este número que ponemos a continuación,
    'para cambiar la cantidad de registros a mostrar en cada página
    mostrar = 10
    'Utilizamos el IF para saber que página mostrar,
    'dependiendo de lo que muestre el querystring
If Request.QueryString("pagina") = "" or not isNumeric(Request.QueryString("pagina")) Then
pagina_actual = 1
    Else
          pagina_actual = CInt(Request.QueryString("pagina"))
    End If
 
    'Definimos la cantidad de registros a mostrar por página
    'puesto que estamos paginando los registros
rs.PageSize = mostrar
    rs.CacheSize = mostrar
 
    Set Conn = Createobject("ADODB.Connection")
    Set rs = CreateObject ("ADODB.RecordSet")
    sql="SELECT * from tabla1 WHERE campo1 like '%"&Request.QueryString("criterio")&"%' AND campo2 <> '' "
    conn.open "bdatos"
    rs.open sql,conn, 1, 3
 
    'contamos las páginas que se formaron con la variable mostrar,
    'pues estamos paginando los registros
    cant_paginas = rs.PageCount
    'si el pedido de página cae afuera del rango,
    'lo modificamos para que caiga dentro
    If pagina_actual > cant_paginas Then pagina_actual = cant_paginas
    If pagina_actual < 1 Then pagina_actual = 1
    'Creamos una variable para contar los productos, noticias, o lo que sea que tengamos en la base de datos
    totalregistros=rs.RecordCount
    'Para mostrar los resultados por registros
    if pagina_actual<>cint(rs.pagecount) then 'si no es la última página
          hasta=pagina_actual*10 'debe ser igual que la variable "mostrar"
          desde=hasta-9 'uno menos que los registros que figuran en la variable "mostrar"
    else
          hasta=rs.recordcount
          desde=(cint(rs.pagecount)*10)-9 '10 y 9, según se indica en las líneas anteriores
    end if
 
    'Si tenemos datos para mostrar...
If Not rs.EOF or cant_paginas > 0 then
'nos movemos a la página elegida, pues estamos paginando
          rs.AbsolutePage=pagina_actual
%>