Ver Mensaje Individual
  #1 (permalink)  
Antiguo 28/02/2006, 07:04
Edan16
 
Fecha de Ingreso: abril-2002
Mensajes: 83
Antigüedad: 23 años
Puntos: 1
Paginar resultados paginados???

Chicos, saludos nuevamente. Hace tiempo que no les escribia. Pues bien, el proyecto de recetas que tenia me ha funcionado excelentemente; sin problemas hasta ahora.

Pero me ha surgido un inconveniente: tengo en una pagina de Administrador una consulta a una BD que trae todos los usuarios registrados hasta ahora en la web, y paginando dicho resultados. El problema es que ya tengo muchos usuarios registrados, y los resultados de la paginacion se me hace muy largo. No hay una forma de paginar los resultados paginados?

O mas bien, de hacer como en esas webs, que cuando los resultados paginados son muchos, lo que hacen es que solo se muestra un determinado numero de resultados, y al principio y final de los enlaces aparecen las frases: "anteriores" y "mas resultados"? Y al dar click a "mas resultados", aparecerian los demas enlaces de paginacion, desapareciendo asi los primeros:

Eje.: 1 2 3 4 5 mas resultados... y luego de dar un click en mas resultados apareceria: 6 7 8 9 10 mas resultados... y asi sucesivamente...

Acá les dejo el codigo que tengo:

<%
sSQL="SELECT * FROM infousuarios ORDER BY user DESC"
'esta sentencia SQL puede ser creada a partir de un buscador como el que hemos visto en otro reportaje
'y almacenada en una session para emplearla sucesivas veces en el script: session("ssql")=ssql

'actualizamos numero de pagina
If Request.QueryString("file")<>"" then
Session("f")=Request.QueryString("file")
Else
Session("f")=1
End If

'constantes ADO VBScript
Const adCmdText = &H0001
Const adOpenStatic = 3

Set Conn = Server.CreateObject("ADODB.Connection")
strconn = "DRIVER={Microsoft Access Driver (*.mdb)}; DBQ=" & Server.MapPath("usuarios.mdb")
Set Command = Server.CreateObject("ADODB.Command")
Set RS =Server.CreateObject("ADODB.RecordSet")
Conn.Open strconn
RS.Open sSQL,Conn,adopenstatic,adcmdtext

'resultados por pagina a elegir arbitrariamente
num_registros = 12

'Dimensionamos las paginas y determinamos la pagina actual
RS.PageSize=num_registros
RS.AbsolutePage=Session("f")
%>

<table width="500" border="0" cellspacing="0" cellpadding="0">
<tr>
<td align="left" valign="top" style="padding-left: 10px"><font face="arial" size="2"><b>Cocina Divertida - Usuarios registrados</b></font></td></tr>
<tr>
<td height="10"></td></tr>
<%
registros_mostrados = 0
While (Not RS.eof And registros_mostrados < num_registros)
user = RS( "user" )
nombre = RS( "nombre" )
apellido = RS( "apellido" )
ciudad = RS( "ciudad" )
pais = RS( "pais" )
email = RS( "email" )
usuario = RS( "usuario" )
registros_mostrados = registros_mostrados +1
%>
<tr>
<td valign="top" style="padding-left: 16px"><a href="stats.asp?stats=usuarios&user=<%=( user )%>" class="titrecetasmes5"><%=( nombre )%><%= (" ")%><%=( apellido )%></a></td></tr>
<tr>
<td height="6"></td></tr>
<%
rs.MoveNext
Wend
%>
<%
registros_mostrados = 0
While (Not RS.eof And registros_mostrados < num_registros)
registros_mostrados = registros_mostrados +1
%>
<%
RS.MoveNext
Wend
%>
<tr>
<td align="center" valign="top" class="text2">
<%
i=0
While i<RS.PageCount
i=i+1
%>
| <b><a href="stats.asp?stats=usuarios&file=<%=i%>" class="titrecetasmes4"><%=i%></a></b>
<%
Wend
%>|</td></tr>
<tr>
<td height="10"></td></tr>
</table><%
RS.Close
Conn.Close
%>

Podrian ayudarme, por favor? Seria de mucho beneficio para mi. Muchisimas gracias de antemano.

Eduardo