Foros del Web » Programando para Internet » ASP Clásico »

paginacion ::: Registro 1 a 50 de 500

Estas en el tema de paginacion ::: Registro 1 a 50 de 500 en el foro de ASP Clásico en Foros del Web. Hola: Estoy páginando una consulta que tengo y lo que quiero es saber como puedo hacer para indicar que estoy mostrando los registros 1 al ...
  #1 (permalink)  
Antiguo 22/10/2007, 08:51
Avatar de gagarin  
Fecha de Ingreso: enero-2002
Ubicación: Madrid
Mensajes: 550
Antigüedad: 23 años, 2 meses
Puntos: 4
paginacion ::: Registro 1 a 50 de 500

Hola:

Estoy páginando una consulta que tengo y lo que quiero es saber como puedo hacer para indicar que estoy mostrando los registros 1 al 50 de un total de 300 o 5000 o de el número de registros que haya.

Gracias
__________________
Temiqui Iztoc Cualtlia Elhuayotl
  #2 (permalink)  
Antiguo 22/10/2007, 08:56
 
Fecha de Ingreso: noviembre-2006
Ubicación: México
Mensajes: 866
Antigüedad: 18 años, 4 meses
Puntos: 8
Re: paginacion ::: Registro 1 a 50 de 500

que tal gagarin.

Uno de los datos para poder pagina es tener el total de registros para saber cual es la última página a la que tienen acceso.

Porque no nos dices como estas haciendo tu páginados y nos pones parte del código, o al menos cual es tu base de datos.

Saludos!
  #3 (permalink)  
Antiguo 22/10/2007, 09:03
Avatar de gagarin  
Fecha de Ingreso: enero-2002
Ubicación: Madrid
Mensajes: 550
Antigüedad: 23 años, 2 meses
Puntos: 4
Re: paginacion ::: Registro 1 a 50 de 500

Antes que nada gracias por responder tan rápido.

Éste es el códigoq ue encontré por aquí:
Código:
Dim Conn, rs, SQL
Dim PaginaActual
Dim RegistrosTotales
Dim PaginasTotales
Dim TamPagina
Dim UltimoRegistro
Dim CuantosRegistros
TamPagina = 50 'Nº DE REGISTRO POR PAGINA
if Request.Querystring("pagina") = "" then PaginaActual = 1 else PaginaActual = Cint(Request.Querystring("pagina"))

Set Conn = Server.CreateObject("ADODB.Connection")
set rs=Server.CreateObject("ADODB.Recordset")
	  Conn.Open "Cadena de BaseD"
	  'Ahora creamos la sentencia SQL
	  'sSQL=""'"SELECT id_solicitud, correoenviado, correoelectronico, fecha, promocioninteres, observaciones FROM Solicitudes WHERE fecha >= #14/09/2007# AND correoenviado = false AND promocioninteres ='" & Promos & "'"' AND
	rs.PageSize = TamPagina
	rs.CacheSize = TamPagina
	rs.Open sSQL, Conn, 1, 2
	PaginasTotales = rs.PageCount
	if PaginaActual < 1 then PaginaActual = 1
	if PaginaActual > PaginasTotales then PaginaActual = PaginasTotales
	if PaginasTotales=0 then
	textotd = "No se encontraron resultados."
	else
	UltimoRegistro = rs.Absoluteposition
	RegistrosTotales = rs.RecordCount 
	rs.AbsolutePage = PaginaActual
	textotd = "Pagina " & PaginaActual & " de " & PaginasTotales
Y despues tengo esto:

Código:
 <% rsB.MoveFirst %></p>
  <table width="100%" border="0" id="resultados">
  <tr class="encabezado">
    <td width="3%">#</td>
    <td width="3%"><img src="imgs/snd.gif" alt="snd" width="26" height="19"></td>
    <td width="16%">Nombre</td>
    <td width="7%">Correo  </td>
    <td width="8%">Tel&Eacute;fono</td>
    <td width="13%">Direcci&Oacute;n</td>
    <td width="17%">Promoci&Oacute;n</td>
    <td width="10%">Fecha</td>
    <td width="18%">Observaciones</td>
    <td width="2%">Enviado</td>
    <td width="3%">&nbsp;</td>
  </tr>
   <% rs.MoveFirst %>
  <%
'Contamos Campo
Num_Campos=rs.Fields.Count
total=0
numero =0
Do While Not Rs.EOF AND CuantosRegistros < TamPagina 
numero= numero+1
%>
  <tr>
    <td class="datos"><%Response.Write(numero)%></td>
    <td class="datos"><input name="id_solicitudes" type="checkbox" class="datos" id="id_solicitudes" value=<%=rs("id_solicitud")%> checked></td>
    <td class="datos"><%=rs("nombreyapellidos")%></td>
    <td class="datos"><%=rs("correoelectronico")%></td>
    <td class="datos"><%=rs("telefono")%></td>
    <td class="datos"><%=rs("direccion")%></td>
    <td class="datos"><%=rs("promocioninteres")%></td>
    <td class="datos"><%=rs("fecha")%></td>
    <td class="datos"><%=rs("observaciones")%></td>
    <td class="datos"><%
	 		 if rs("correoenviado") = true then
				response.write ("<input type='checkbox' name='wcasilla_verificacion' value='True'checked>")
				response.write ("Marcado")
			else 
				response.write ("<input type='checkbox' name='wcasilla_verificacion' value='True'>")
				'response.write ("No Marcado")
			end if

		%></td>
    <td class="datos"><a href="edita.asp?solicitud=<%=rs("id_solicitud")%> "onClick="window.open('','editar','height=280,width=580');" target="editar">editar</a><br /> 
      <a href="borra.asp?solicitud=<%=rs("id_solicitud")%>" onClick="window.open('','borrar','height=280,width=580');" target="borrar">borrar</a></td>
  </tr>
   <%
   CuantosRegistros=CuantosRegistros + 1
rs.movenext
total= total+1
loop
%>
</table>
<%
end if
rs.Close
Conn.Close
set rs = nothing
set Conn = nothing
%>
  <div align="center">
  <p><br>
    <input type="submit" name="Submit" value="Enviar" >
    </p>
  </div>
<p align="center" class="encabezado">Mostrando página <%=PaginaActual%> de  <%=PaginasTotales%> <%=UltimoRegistro%> de <%=RegistrosTotales%> registros </p>
</form>
<%
Response.Write("<p>")
if PaginaActual > 2 then Response.Write("<A HREF=?pagina="& 1 &">Primera Pagina</A>  -  ") Else Response.Write("Primera Pagina  -  ")
if PaginaActual > 1 then Response.Write("<A HREF=?pagina="& PaginaActual-1 &">"&TamPagina&" Anteriores</A>  -  ") Else Response.Write(""&TamPagina&" Anteriores  -  ")
if PaginaActual < PaginasTotales then Response.Write("<A HREF=?pagina=" & PaginaActual+1 &">"&TamPagina&" Siguientes</A>  -  ") Else Response.Write(""&TamPagina&" Siguientes  -  ")
if PaginaActual + 1 < PaginasTotales then Response.Write("<A HREF=?pagina=" & PaginasTotales &">Ultima Pagina</A>  -  ") Else Response.Write("Ultima Pagina  -  ")
%>
En realidad tengo ya resuelto indicar la página en la que se está así como el total de páginas, también puse el total de registros pero quiero enontrar la manera de decir "Estas en la página 3 de 80 que contiene los registros 100 - 150 de un total de 3000" eso es lo que necesito saber.
__________________
Temiqui Iztoc Cualtlia Elhuayotl
  #4 (permalink)  
Antiguo 22/10/2007, 09:20
Avatar de gagarin  
Fecha de Ingreso: enero-2002
Ubicación: Madrid
Mensajes: 550
Antigüedad: 23 años, 2 meses
Puntos: 4
Re: paginacion ::: Registro 1 a 50 de 500

Listo.

Recurrí a las matemáticas:

UltimoRegistro = TamPagina*NumPagina
PrimerRegistro = UltimoRegistro - TamPagina

Quizá no sea la mejor manera de hacerlo pero funciona
__________________
Temiqui Iztoc Cualtlia Elhuayotl
  #5 (permalink)  
Antiguo 22/10/2007, 09:21
Avatar de JuanRAPerez
Colaborador
 
Fecha de Ingreso: octubre-2003
Mensajes: 2.393
Antigüedad: 21 años, 5 meses
Puntos: 27
Re: paginacion ::: Registro 1 a 50 de 500

pues si haces un select coun(*) from tutabla
tienes el total de registros

luego solo tendrias que saber en que pagina estas y decir
si tu pagina es la 2, le restas 1 lo multiplicas por 50 que es la cantidad de registros mostrados, le sumas 1 y sabras en que registro inicia.

ejemplo (2-1) * 50 = 50 + 1 = 51

Estas en la pagina 2, mostrando desde el registro 51
luego a 51 le sumas 50 y sabras el final (ojo en la ultima pagina no es asi de sencillo, pero ahi piensas tu) y luego dices que el ultimo registro mostrado es 101

suerte
__________________
JuanRa Pérez
San Salvador, El Salvador
  #6 (permalink)  
Antiguo 22/10/2007, 09:41
Avatar de gagarin  
Fecha de Ingreso: enero-2002
Ubicación: Madrid
Mensajes: 550
Antigüedad: 23 años, 2 meses
Puntos: 4
Re: paginacion ::: Registro 1 a 50 de 500

JuanRPerez

Pues mira aprovechando tengo un problema, resulta ser que al páginar y darle a siguiente no me cambia los resgistros, sino que sigue mostrando los mismos 50 es decir, parece que cambia de página de menos eso indica pero no´muestra los siguentes 50 registros sino que muestra los 50 registro ya mostrados, no sé si quieras que te envíe el código para que lo puedas revisar.
__________________
Temiqui Iztoc Cualtlia Elhuayotl
  #7 (permalink)  
Antiguo 22/10/2007, 10:15
Avatar de gagarin  
Fecha de Ingreso: enero-2002
Ubicación: Madrid
Mensajes: 550
Antigüedad: 23 años, 2 meses
Puntos: 4
Re: paginacion ::: Registro 1 a 50 de 500

Cita:
<% rs.MoveFirst %>
Aquí estaba el error, ya está resuelto

Ahora las matemáticas fallan bueno yo creo que mañana seguiré ya el cerebro no da pa más.
__________________
Temiqui Iztoc Cualtlia Elhuayotl
  #8 (permalink)  
Antiguo 22/10/2007, 10:15
Avatar de JuanRAPerez
Colaborador
 
Fecha de Ingreso: octubre-2003
Mensajes: 2.393
Antigüedad: 21 años, 5 meses
Puntos: 27
Re: paginacion ::: Registro 1 a 50 de 500

oki doki


suerte
__________________
JuanRa Pérez
San Salvador, El Salvador
Atención: Estás leyendo un tema que no tiene actividad desde hace más de 6 MESES, te recomendamos abrir un Nuevo tema en lugar de responder al actual.
Respuesta




La zona horaria es GMT -6. Ahora son las 19:43.