Te posteo el código:
<%
Dim Conn, RS, SQLQuery1
Dim PaginaActual ' en qué pagina estamos
Dim PaginasTotales ' cuántas páginas tenemos
Dim TamPagina ' cuantos registros por pagina
Dim CuantosRegistros ' para imprimir solo el nº de registro por pagina que queramos
TamPagina = 10
'Leemos qué página mostrar. La primera vez será la inicial
if Request.Querystring( "pagina" ) = "" then
PaginaActual = 1
else
PaginaActual = CInt(Request.Querystring( "pagina" ))
end if
Set Conn = Server.CreateObject( "ADODB.Connection" )
Set RS = Server.CreateObject( "ADODB.Recordset" )
Conn.Open Application( "ConexionContadores" )
SQLQuery1 = " SELECT id, ip, software, lenguaje, fecha, hora FROM visitantes ORDER BY id desc "
' Defino el tamaño de las páginas
RS.PageSize = TamPagina
RS.CacheSize = TamPagina
' Abro el recordset
RS.Open SQLQuery1, Conn, 1, 1
'Cuento las páginas
PaginasTotales = Rs.PageCount
'Compruebo que la pagina actual está en el rango
if PaginaActual < 1 then
PaginaActual = 1
end if
if PaginaActual > PaginasTotales then
PaginaActual = PaginasTotales
end if
'Por si la consulta no devuelve registros!
if PaginasTotales = 0 then
Response.Write( "No se encontraron resultados." )
else
'Vamos a paginar
Rs.AbsolutePage = PaginaActual
Response.Write( "Pagina " & PaginaActual & " de " &PaginasTotales)
Response.Write("<br><br>")
%>
<p align="center"><font color="#000000" size="4" face="Verdana, Arial, Helvetica, sans-serif" class="Título1">Últimas
visitas recibidas</font></p>
<table border=1 align="center" cellpadding=3 cellspacing=0 bordercolor="#000000" bgcolor="#ccccc">
<tr bordercolor="#333333">
<td bgcolor="#F0F0F0"> <div align="center"><strong><font face="Verdana, Arial, Helvetica, sans-serif">Visitas</font></strong></div></td>
<td bgcolor="#F0F0F0"> <div align="center"><strong><font face="Verdana, Arial, Helvetica, sans-serif">Dirección
IP</font></strong></div></td>
<td bgcolor="#F0F0F0"> <div align="center"><strong><font face="Verdana, Arial, Helvetica, sans-serif">Navegador</font></strong></div></td>
<td bgcolor="#F0F0F0"><div align="center"><strong><font face="Verdana, Arial, Helvetica, sans-serif">Idioma</font></strong></div></td>
<td bgcolor="#F0F0F0"><div align="center"><strong><font face="Verdana, Arial, Helvetica, sans-serif">Fecha</font></strong></div></td>
<td bgcolor="#F0F0F0"><div align="center"><strong><font face="Verdana, Arial, Helvetica, sans-serif">Hora</font></strong></div></td>
</tr>
<%
CuantosRegistros = 0
Do while not RS.EOF and CuantosRegistros < TamPagina
i = i + 1
%>
<tr bordercolor="#333333" bgcolor="#FFFFFF">
<td><div align="center"><font size="2" face="Verdana, Arial, Helvetica, sans-serif"><small><%=i%></small></font></div></td>
<td><div align="center"><font size="2" face="Verdana, Arial, Helvetica, sans-serif"><small><%=RS.Fields("IP")%></small></font></div></td>
<td><div align="center"><font size="2" face="Verdana, Arial, Helvetica, sans-serif"><small><%=RS.Fields("Software")%></small></font></div></td>
<td><div align="center"><font size="2" face="Verdana, Arial, Helvetica, sans-serif"><small><%=RS.Fields("Lenguaje")%></small></font></div></td>
<td><div align="center"><font size="2" face="Verdana, Arial, Helvetica, sans-serif"><small><%=RS.Fields("Fecha")%></small></font></div></td>
<td><div align="center"><font size="2" face="Verdana, Arial, Helvetica, sans-serif"><small><%=RS.Fields("Hora")%></small></font></div></td>
</tr>
<%
CuantosRegistros = CuantosRegistros + 1
RS.MoveNext
loop
%>
</table>
<%
end if
RS.Close
Conn.Close
set RS = nothing
set Conn = nothing
'Muestro los enlaces
Response.Write("<br><hr>")
if PaginaActual > 1 then
Response.Write(" <A HREF=visitados_por.asp?pagina="&PaginaActual-1&">10 Anteriores</A> ")
end if
if PaginaActual < PaginasTotales then
Response.Write(" <A HREF=visitados_por.asp?pagina="&PaginaActual+1&">1 0 Siguientes</A>")
end if
%>
Espero encuentren el fallo.
El link de los 10 siguientes al pasar el mouse por encima muestra:
visitado_por.asp?pagina=2
en tal caso sería correcto pero no pasa del todo bien la variable.
Gracias Aprendiz.
__________________ Francesc Mula Calleja Hay mucho por ver todavía... |