
24/03/2005, 12:29
|
| | 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> |