Foros Club Delphi

Foros Club Delphi (https://www.clubdelphi.com/foros/index.php)
-   Varios (https://www.clubdelphi.com/foros/forumdisplay.php?f=11)
-   -   Paginado en una Web (https://www.clubdelphi.com/foros/showthread.php?t=15211)

fmonte 14-10-2004 14:55:20

Paginado en una Web
 
Hola Gente yo quisiera saber si alquien me puede decir como hacer un paginado de un listado para una pagina Web. Yo ya hice un paginado y puedo listar los registros q quiero por pagina, pero ponele q tenga muchos registros, me van a aparecer todos numeros con sus link y queda muy feo, por eso yo quisiera hacer algo como el paginado de google q va mostrando por parte, por ejemplo si yo tengo 20 paginas, q me muestre las primeras 5 y un link siguiente por ejemplo en donde me muestre otra pagina mas o otras 5.
Entienden mas o menos
Muchas Gracias, Pancho

taita 14-10-2004 14:58:42

Hola Fmonte:
Una pregunta... qué tipo de lenguaje utilizas? ASP? PhP? Jsp?
Es que si no lo indicas es posible que nadie pueda ayudarte.
Saludos.

fmonte 14-10-2004 15:17:25

Hola Taita, estoy usando ASP.

Encontre codigos en PHP, pero no me sirve porque tengo todo en ASP.
Muchas Gracias
Pancho

taita 14-10-2004 17:37:42

Hola de nuevo:
no sé si será correcto que yo publique un enlace a otra página aqui, pero como considero que es un tema de ASP que es demasiado extenso para ser contestado aqui, te dejo un enlace en donde puedes ver paso a paso cómo se hace la paginación de resultados para ASP.
Este es el enlace
Saludos.

Pd: Pido disculpas si he metido la pata al publicar este enlace.

fmonte 14-10-2004 18:37:37

Hola TaiTA, mira ya estuve mirando ese codigo, pero yo busco algo como el paginado de esta pagina "Club Delphi" por ejemplo, q muestra 1 al 5 ponele y si presionas la flechita aparecen mas paginas, algo asi busco, o sea quiero limitar el paginado y con un link siga mostrando mas paginas y asi sucesivamente hasta las ultimas paginas.Pancho, muchas gracias

taita 14-10-2004 21:03:43

OK:
En ese caso deberías usar algo asi:

Código:

    <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>

Esto te mostraría una paginación con números. Ahora solo te tocaría decirle que te muestre 2 números antes (siempre que la página actual sea >=3) y 2 números detrás (siempre que la página actual no sea <= ultima-2).
algo asi ... supongo.
Yo en mi página estoy por crear un código completo para realizar la paginación. Será algo parecido al que te acabo de mostrar (que, todo hay que decirlo, no es mio).
Intenta modificar éste y si ves que no eres capaz avísame, así te echo una mano.
Saludos!.

PD: Deseo dejar claro que el autor de este código es Rubén Alvarez


La franja horaria es GMT +2. Ahora son las 23:25:29.

Powered by vBulletin® Version 3.6.8
Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
Traducción al castellano por el equipo de moderadores del Club Delphi