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
| |||
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! |
| ||||
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:
Y despues tengo esto: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
Código:
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. <% 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Éfono</td> <td width="13%">DirecciÓn</td> <td width="17%">PromociÓn</td> <td width="10%">Fecha</td> <td width="18%">Observaciones</td> <td width="2%">Enviado</td> <td width="3%"> </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 - ") %>
__________________ Temiqui Iztoc Cualtlia Elhuayotl |
| ||||
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 |
| ||||
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 |
| ||||
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 |
| ||||
Re: paginacion ::: Registro 1 a 50 de 500 Cita: Aquí estaba el error, ya está resuelto<% rs.MoveFirst %> Ahora las matemáticas fallan bueno yo creo que mañana seguiré ya el cerebro no da pa más.
__________________ Temiqui Iztoc Cualtlia Elhuayotl |