Ver Mensaje Individual
  #12 (permalink)  
Antiguo 24/03/2005, 12:29
alrodripi
 
Fecha de Ingreso: marzo-2005
Mensajes: 10
Antigüedad: 20 años, 2 meses
Puntos: 0
Hola LEXUS,

Aquí te expongo un ejemplo muy claro, y me parece que sencillo, que lo he probado y funciona correctamente. Encontrarás algunas cosas "rarillas" en lo referente al uso de la función INT pero es que como verás no utilicé "Option Explicit" por lo que me daba algunos errores, ya que el programa no entendía bien el tipo de variable y los resolví de esta manera.

También no he puesto lo referente a la conexión a la BD, esto te lo dejo a ti.

<%
vCantRegPag=10 '// Cantidad de registros a mostrar por página.
vLimInf=0 '// Limite Inferior para la primera carga de la página
vLimSup=vCantRegPag '// Idem
vPagActual=1

tarea=request.form("tarea") '// Encuestando una variable que viene de
'//_un form post

Select case tarea
case "Siguiente_>>":
vPagActual=request.form("vPagActual")
vPagActual=vPagActual+1

case "<<_Anterior":
vPagActual=request.form("vPagActual")
vPagActual=vPagActual-1

end select

'// PRIEMRO ES NECESARIO SABER CUANTOS REGISTROS HAY EN TOTAL
'// _PARA PODER CALCULAR LA CANTIDAD DE PÁGINAS Y DE AQUÍ JUGAR
'// _CON LOS "LIMITES"
strSQL="SELECT COUNT(*) FROM TABLA"

TABLA.Open mCmd,,2,1 ' *** adOpenDinamic, adLockReadOnly

vNumReg=trim(TABLA(0))

TABLA.close

if vNumReg=0 then
vErrDesc="No se encuentran registros."
else
'//+++ Calculando (Cal) Cantidad de Páginas +++++++++++
vCantPagCal=vNumReg/vCantRegPag

'//+++ Ejemplo 14 registros totales implican 2 páginas.
if int(vCantPagCal)<vCantPagCal then
vCantPag=int(vCantPagCal)+1
else
vCantPag=int(vCantPagCal)
end if

'//+++ Límite Superior para el LIMIT.
vLimSup=int(vCantRegPag)*int(vPagActual)
if int(trim(vLimSup+0))>int(trim(vNumReg+0)) then
vLimSup=vNumReg
end if
'//+++ Límite Inferior para el LIMIT.
vLimInf=(int(vCantRegPag)*int(vPagActual))-int(vCantRegPag)

strSQL="SELECT * FROM TABLA LIMIT "&vLimInf&", "&vLimSup

TABLA.Open mCmd,,2,1

TABLA.MoveFirst
end if
%>
<html>
<head>
<title>Paginar MySQL con ASP 3.0</title>
</head>
<body>
<center><br>
<%=vErrDesc%>
<br>
<form method="post" action="paginar.asp">
<table width="637" border="1">
<tr>
<td width="86">
<%if vCantPag=1 OR vPagActual=1 then%>
<img src="Transparente.gif" width="86" height="1">
<%else%>
<input type="submit" name="tarea" value="<<_Anterior">
<%end if%>
</td>
<td width="433"><img src="Transparente.gif" width="95" height="1">
<table width="434" border="1">
<%do until TABLA.EOF%>
<tr>
<td><font face="Verdana, Arial, Helvetica, sans-serif" size="1">"<%=TABLA("CAMPO_I")%>"</font></td>
<td><font face="Verdana, Arial, Helvetica, sans-serif" size="1">"<%=TABLA("CAMPO_II")%>"</font></td>
</tr>
<%TABLA.MoveNext
loop%>
</table>
</td>
<td width="96">
<%if vCantPag=1 OR vPagActual=vCantPag then%>
<img src="Transparente.gif" width="95" height="1">
<%else%>
<input type="submit" name="tarea" value="Siguiente_>>">
<%end if%>
</td>
</tr>
</table>
<input type="hidden" name="vPagActual" value="<%=vPagActual%>"><br>
</form>
</center>
</body>
</html>