|
<html> <head> <title>Repaginador de resultados</title> </head> <% sSQL="select lo que tu quieras" '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("pag")<>"" Then Session("pagina")=Request.QueryString("pag") Else Session("pagina")=1 End If 'constantes ADO VBScript Const adCmdText = &H0001 Const adOpenStatic = 3 Set Conn = Server.CreateObject("ADODB.Connection") Set Command = Server.CreateObject("ADODB.Command") Set RS =Server.CreateObject("ADODB.RecordSet") Conn.Open "nombre de tu base de datos" RS.Open sSQL,Conn,adopenstatic,adcmdtext 'resultados por pagina a elegir arbitrariamente num_registros = 5 'Dimensionamos las paginas y determinamos la pagina actual RS.PageSize=num_registros RS.AbsolutePage=Session("pagina") %> <body> <div align="center"> Número de página actual: <b><%=Session("pagina")%></b> <br> Número de páginas total: <b><%=RS.PageCount%></b> <br> Número de registros por página: <b><%=RS.PageSize%></b> <br> Número de registros seleccionados: <b><%=RS.RecordCount%></b> </div> <br><br> <table cellspacing="2" cellpadding="2" border="1" align="center"> <% 'Contamos el numero de campos num_campos=RS.Fields.Count For campo=0 to num_campos-1%> <td align="center"><%=RS(campo).Name%></td> <% Next registros_mostrados = 0 While (Not RS.eof And registros_mostrados < num_registros) registros_mostrados = registros_mostrados +1 %> <tr> <%For campo=0 to num_campos-1 %> <td align="center"><%=RS(campo)%></td> <%Next%> </tr> <% RS.MoveNext Wend %> <tr> <td colspan="<%=num_campos%>" align="center"> <% i=0 While i<RS.PageCount i=i+1 %> <b><a href="paginar.asp?pag=<%=i%>"><%=i%></a></b> <% Wend %> </td> </tr> </table> <% RS.Close Conn.Close %> </body> </html> |
| Por: Rubén Fernández | 27/11/01
|
Respuesta:
¿Estás seguro de que abres el recorset igual que lo abrimos en el ejemplo?
Hay varios tipos de recorset en ASP y no todos pueden hacer las funciones necesarias para el paginado.
| Por: al | 01/6/02
|
Respuesta:
La verdad es que no se puede trasladar esto directamene a PHP, pero por supuesto puesdes programar en ese lenguaje una paginación de resultados.
Para ello, dependiendo de la base de datos que utilices puede cambiar. Es probable que la base de datos que utilices admita en su lenguaje SQL la función de limitar el número de registros del resultado de la consulta. Esto se hace con el enunciado LIMIT que permite traerse un número de registros acotado. En mySQL, por ejemplo, puedes hacerlo perfectamente.
Entonces sólo tendrías que programar un poquito con PHP para que tu consulta extraiga la página de datos que deseas imprimir en la página y un sistema para que se pueda seleccionar cualquier página de entre los resultados.
| Por: musika | 10/6/02
|
¿Alguien entiende que estoy preguntando?
| Por: Marcelo Damiani | 05/4/03
|
RESPUESTA
No te lies, o perdona si no nos hemos explicado bien. Puedes paginar con cualquier base de datos, incluida Access. Todas las bases de datos se pueden acceder a través del lenguaje SQL. De hecho, creo que este ejemplo se realizó utilizando Access.
| Por: EMF | 21/11/03
|
| Por: Fran | 28/7/05
|
| Por: Bzero | 25/11/05
|
| Por: felipe | 23/8/06
|