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

paginacion incompleta, por que?

Estas en el tema de paginacion incompleta, por que? en el foro de ASP Clásico en Foros del Web. Hola...estoy tratando de realizar una paginacion en asp, pero solo me muestra la 1ra pag...resulta que muestra una tabla que se genera a traves de ...
  #1 (permalink)  
Antiguo 30/10/2006, 13:44
 
Fecha de Ingreso: septiembre-2006
Mensajes: 161
Antigüedad: 18 años, 7 meses
Puntos: 0
Pregunta paginacion incompleta, por que?

Hola...estoy tratando de realizar una paginacion en asp, pero solo me muestra la 1ra pag...resulta que muestra una tabla que se genera a traves de una consulta, el usuario introduce un valor, se genera una consulta en mi bd y muestra una tabla, suponiendo que el resultado lo muestra en 4 pags, en la primera pag me muestra mi tabla y sus valores, pero al ir a las otras me dice que no hay registros...creo que como el resultado depende de las variables que introduce el usuario para las otras pags no las guarda y x ello no me muestra el resto de los resultados...estoy en lo correcto...y si es asi, como puedo evitar esto?...gracias!!!
  #2 (permalink)  
Antiguo 30/10/2006, 13:58
 
Fecha de Ingreso: abril-2004
Ubicación: México D.F.
Mensajes: 1.724
Antigüedad: 21 años
Puntos: 4
y el código ?
  #3 (permalink)  
Antiguo 30/10/2006, 14:02
 
Fecha de Ingreso: septiembre-2006
Mensajes: 161
Antigüedad: 18 años, 7 meses
Puntos: 0
<HTML>
<HEAD><TITLE>Paginación :: SoloASP.com.ar</TITLE></HEAD>
<BODY BGCOLOR="#EEDDEE">
<%

'ESTOS REQUEST.FORM SON LOS NOMBRES DE LOS CAMPOS DE FORM DE LA PAGINA ANTERIOR
if not isdate(Request.Form("mes1")) and isdate(Request.Form("year1")) and isdate(Request.Form("year2")) then
Response.Redirect "InicioPag_SistemPesado_Mes.asp"
end if

vmes1= (Request.Form("mes1"))
vyear1= (Request.Form("year1"))


vFecha1= vmes1
vFecha2= "20" + vyear1


Dim mostrar 'cantidad de registros a mostrar por página
Dim cant_paginas 'cantidad de páginas que recibimos
Dim pagina_actual 'La página que mostramos
Dim registro_mostrado 'Contador utilizado para mostrar las páginas
Dim I 'Variable Loop

mostrar = 5 ' Pueden modificar este número para cambiar la cantidad de registros por página

' IF para saber que página mostrar
If Request.QueryString("page") = "" Then
pagina_actual = 1
Else
pagina_actual = CInt(Request.QueryString("page"))
End If

strsql = "SELECT CODE, NAME, FECHCM, FECHCY FROM ESCANER1 WHERE FECHCM ='" & vFecha1 & "' AND FECHCY ='" & vFecha2 & "' AND (CODE > '0') AND (NAME > '0') ORDER BY CODE "

' Creamos la conexion a la base de datos
Set oConn = Server.CreateObject("ADODB.Connection")
oConn.Open "Driver={SQL Server};Server=MGEV;Database=Rssql;UID=sa;Password =sa;"

' Creamos el RecordSet y definimos la cantidad de registros a mostrar
Set RS = Server.CreateObject("ADODB.Recordset")
RS.PageSize = mostrar
RS.CacheSize = mostrar

' Abrimos la tabla...
RS.Open strSQL, oConn,3,1
'contamos las páginas que se formaron con la variable mostrar.
cant_paginas = RS.PageCount

' Si el pedido de página cae afuera del rango,
' lo modificamos para que caiga adentro
If pagina_actual > cant_paginas Then pagina_actual = cant_paginas
If pagina_actual < 1 Then pagina_actual = 1

' Si la cantidad de páginas da 0 es que no hay registros... por eso este IF
If cant_paginas = 0 Then
Response.Write "No hay registros..."
Else
' Nos movemos a la página elegida
RS.AbsolutePage = pagina_actual
' Mostramos el dato de que página estamos...
%>
<FONT SIZE="+1">Página <B><%= pagina_actual %></B> de <B><%= cant_paginas %></B></FONT>
<%
' Espacios
Response.Write "<BR><BR>" & vbCrLf
'iniciamos la tabla donde mostraremos todo
Response.Write "<TABLE BORDER=""1"">" & vbCrLf
' Mostramos los titulos de las columnas... (pueden sacar ese FOR para eliminar eso)
Response.Write vbTab & "<TR>" & vbCrLf
For I = 0 To RS.Fields.Count - 1
Response.Write vbTab & vbTab & "<TD><B>"
Response.Write RS.Fields(I).Name
Response.Write "<B></TD>" & vbCrLf
Next 'I
Response.Write vbTab & "</TR>" & vbCrLf

' Hacemos el bucle mostrando los datos del registro
registro_mostrado = 0
Do While registro_mostrado < mostrar And Not RS.EOF
Response.Write vbTab & "<TR>" & vbCrLf
For I = 0 To RS.Fields.Count - 1
Response.Write vbTab & vbTab & "<TD>"
Response.Write RS.Fields(I)
Response.Write "</TD>" & vbCrLf
Next 'I
Response.Write vbTab & "</TR>" & vbCrLf

' Sumamos 1 a los mostrados
registro_mostrado = registro_mostrado + 1
' Nos movemos al próximo registro...
RS.MoveNext
Loop

'listo...
Response.Write "</TABLE>" & vbCrLf
End If

' Cerramos y limpiamos...
'RS.Close
'Set RS = Nothing
'oConn.Close
'Set oConn = Nothing

' Ahora mostramos los enlaces a las otras páginas con el resto de los registros...
If pagina_actual > 1 Then
%>
<a href="./pag.asp?eje=30&page=<%= pagina_actual - 1 %>">[<< Anterior]</a>
<%
End If

' mostramos la paginacion por numeros de página
For I = 1 To cant_paginas
If I = pagina_actual Then
%>
<%= I %>
<%
Else
%>
<a href="./pag.asp?eje=30&page=<%= I %>"><%= I %></a>
<%
End If
Next 'I

If pagina_actual < cant_paginas Then
%>
<a href="./pag.asp?eje=30&page=<%= pagina_actual + 1 %>">[Próximo >>]</a>
<%
End If
'Fin...
%>

</BODY>
</HTML>
  #4 (permalink)  
Antiguo 30/10/2006, 16:18
 
Fecha de Ingreso: septiembre-2006
Mensajes: 161
Antigüedad: 18 años, 7 meses
Puntos: 0
Ya está el código...alguien podría decirme como le puedo hacer???
  #5 (permalink)  
Antiguo 31/10/2006, 10:15
 
Fecha de Ingreso: septiembre-2006
Mensajes: 161
Antigüedad: 18 años, 7 meses
Puntos: 0
Hola!...alguien podría revisar mi código y decirme como puedo de alguna manera almacenar la variable q introduce el usuario para q me genere todas las tablas de mi paginacion.
  #6 (permalink)  
Antiguo 31/10/2006, 13:31
Avatar de JuanRAPerez
Colaborador
 
Fecha de Ingreso: octubre-2003
Mensajes: 2.393
Antigüedad: 21 años, 6 meses
Puntos: 27
ahora se porque no te han contestado los post

mucho duplicas informacion
__________________
JuanRa Pérez
San Salvador, El Salvador
  #7 (permalink)  
Antiguo 31/10/2006, 14:04
 
Fecha de Ingreso: septiembre-2006
Mensajes: 161
Antigüedad: 18 años, 7 meses
Puntos: 0
duplico información...mas bien duplico mi peticion de ayuda...ya que no hay quien me responda o que me responda algo que me sirva...la verdad es que no sé si se puede hacer lo que menciono de la paginación!!!
  #8 (permalink)  
Antiguo 31/10/2006, 14:05
 
Fecha de Ingreso: septiembre-2006
Mensajes: 161
Antigüedad: 18 años, 7 meses
Puntos: 0
me pidieron el código y lo puse...juanraperez: alguna sugerencia para que me contesten???
  #9 (permalink)  
Antiguo 31/10/2006, 14:09
 
Fecha de Ingreso: septiembre-2006
Mensajes: 161
Antigüedad: 18 años, 7 meses
Puntos: 0
si duplique el mensaje xq de hecho desde ayer tengo la misma duda y nadie me contesta...sorry!!!...no volveré a hacerlo...solo espero que si alguien tiene una forma de resolver el problema que tengo con la paginacion la pueda compartir conmigo...gracias!!!
  #10 (permalink)  
Antiguo 31/10/2006, 15:41
Avatar de JuanRAPerez
Colaborador
 
Fecha de Ingreso: octubre-2003
Mensajes: 2.393
Antigüedad: 21 años, 6 meses
Puntos: 27
1 abre solo un post con el mismo tema
2 si te piden el codigo postealo en el mismo post como respuesta a tu misma pregunta

en otro post te respondi y el hecho que desde ayer tengas la misma duda NO hara que te respondan mas rapido.

lee las reglas del foro

suerte
__________________
JuanRa Pérez
San Salvador, El Salvador
  #11 (permalink)  
Antiguo 31/10/2006, 15:42
Avatar de AlZuwaga
Colaborador
 
Fecha de Ingreso: febrero-2001
Ubicación: 34.517 S, 58.500 O
Mensajes: 14.550
Antigüedad: 24 años, 2 meses
Puntos: 535
Esperemos no vuelvas a hacerlo.
Por cierto, tus últimos 3 mensajes en este tema tienen las horas (de argentina)

Cita:
17:04:38
17:05:46
17:09:26
Eso se lo puede sancionar con intentar mantener deliberadamente un tema al tope del foro.

Intentá no hacerlo.
Gracias.
__________________
...___...
  #12 (permalink)  
Antiguo 31/10/2006, 16:24
 
Fecha de Ingreso: septiembre-2006
Mensajes: 161
Antigüedad: 18 años, 7 meses
Puntos: 0
ok...gracias por los consejos...y es cierto, no por mandar 2 veces mi duda me van a responder mas rápido o me van a responder...agradezco los comentarios!!!...auque sigo sin resolver mi problema!!!
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 07:56.