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

paginacion con variables, se puede?

Estas en el tema de paginacion con variables, se puede? 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 31/10/2006, 13:16
 
Fecha de Ingreso: septiembre-2006
Mensajes: 161
Antigüedad: 17 años, 8 meses
Puntos: 0
paginacion con variables, se puede?

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 tuviera que mostrar 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!!!

Ayer envié esta duda pero no puse el código que estoy utilizando...bueno pues aquí está el código...espero hoy si me puedan ayudar!!!

<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_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>
  #2 (permalink)  
Antiguo 31/10/2006, 13:26
Avatar de JuanRAPerez
Colaborador
 
Fecha de Ingreso: octubre-2003
Mensajes: 2.393
Antigüedad: 20 años, 7 meses
Puntos: 27
tenes que hacer lo siguiente

<a href="./pag.asp?eje=30&page=<%= pagina_actual - 1 %>&variable1=<%=variable1%>&variable2=<%=variable 2%>">[<< Anterior]</a>

y asi para todas tus variables en los tres enalces

suerte
__________________
JuanRa Pérez
San Salvador, El Salvador
  #3 (permalink)  
Antiguo 31/10/2006, 17:00
 
Fecha de Ingreso: septiembre-2006
Mensajes: 161
Antigüedad: 17 años, 8 meses
Puntos: 0
Juan Ramón:te refieres a que mi código quede de esta forma:

%>
<a href="./pag.asp?eje=30&page=<%= pagina_actual - 1 %>&vFecha1=<%=vFecha1%>&vFecha2=<%=vFecha2%> ">[<< Anterior]</a>
<%

%>
<a href="./pag.asp?eje=30&page=<%= I %>&vFecha1=<%=vFecha1%>&vFecha2=<%=vFecha2%> "><%= I %></a>
<%
y
%>
<a href="./pag.asp?eje=30&page=<%= pagina_actual + 1 %>&vFecha1=<%=vFecha1%>&vFecha2=<%=vFecha2%> ">[Próximo >>]</a>
<%

Porque si es asi ya lo cambié y no funciona, me sigue mostrando solo la primera pagina...gracias!!!
  #4 (permalink)  
Antiguo 01/11/2006, 09:43
 
Fecha de Ingreso: septiembre-2006
Mensajes: 161
Antigüedad: 17 años, 8 meses
Puntos: 0
Hola!!!..yo otra vez...ya intenté el cambio que me dijeron de las variables y no funcionó...solo me sigue mostrando la 1er página...no estoy segura si coloqué correctamente la sintaxis o los nombres de las variables???
  #5 (permalink)  
Antiguo 01/11/2006, 11:02
Avatar de JuanRAPerez
Colaborador
 
Fecha de Ingreso: octubre-2003
Mensajes: 2.393
Antigüedad: 20 años, 7 meses
Puntos: 27
oki aqui creo que esta el problema

tenes
Cita:
'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_Mes.asp"
end if

vmes1= (Request.Form("mes1"))
vyear1= (Request.Form("year1"))
Las variables vienen de un form, pero la segunda vez cuando clikeas un enlace no van por un form entonces no hace el request correctamente

Solo usa request("variable"), si necesidad de poner .form


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

vmes1= (Request("mes1"))
vyear1= (Request("year1"))
__________________
JuanRa Pérez
San Salvador, El Salvador
  #6 (permalink)  
Antiguo 01/11/2006, 12:40
 
Fecha de Ingreso: septiembre-2006
Mensajes: 161
Antigüedad: 17 años, 8 meses
Puntos: 0
ok...ya lo cambié...y sigue igual...cambié el request y solo me muestra la primer página y para las demás no muestra nada...después además cambiè también las variables para los enlaces como me habias mencionado al principio y tampoco...sigue mostrando solo los datos de la 1er pagina...soy novata para esto del asp...y coincido ((creo!!)) q el problema es q no es una consulta fija, si no que mas bien como depende de las "variables" que introduce el usuario en la pagina principal, creo que cuando manda llamar las otras páginas los datos de las variables se pierden y es por ello que me dice que "no hay registros", ya que se comporta como si no se hubiese introducido ningun dato...entonces no sé como solucionarlo???
  #7 (permalink)  
Antiguo 01/11/2006, 13:49
Avatar de JuanRAPerez
Colaborador
 
Fecha de Ingreso: octubre-2003
Mensajes: 2.393
Antigüedad: 20 años, 7 meses
Puntos: 27
jaja ordenandonos un poco

tendria matematicamente que funcionar, si te funciona el query para la priemra consulta.

pone el puntero del mouse en donde estan los enlaces (2, 3, 4, 5) de tus paginas creada y mira en la barra de estado del navegado si dice las fechas como debe de ser. o si estan las variables en blanco.

evacuemos eso y veamos si es que no estas pasando las variables como debe de ser.

suerte
__________________
JuanRa Pérez
San Salvador, El Salvador
  #8 (permalink)  
Antiguo 01/11/2006, 14:00
Avatar de JuanRAPerez
Colaborador
 
Fecha de Ingreso: octubre-2003
Mensajes: 2.393
Antigüedad: 20 años, 7 meses
Puntos: 27
creo que ahi esta el error

en las variables

Cita:
&vFecha1=<%=vFecha1%>&vFecha2=<%=vFecha2%>
Estas variables deben de llevar lo mismoq ue mandas del form

si tu recoges
Cita:
vmes1= (Request("mes1"))
vyear1= (Request("year1"))
aunque internamente se llamen vyera, lo que debes de mandar en tu paginacion son tus mismas dos variables llamadas igual que en el form

PERO el contenido de dichas varaibles debe de ser el valor actual en tu asp que son vyear y vmes

Cita:
&mes1=<%=vmes%>&year1=<%=vyear%>
ahi es odernarte

asi como se llaman los campos del formulario, podrias llamar las variables recogidas en el asp. y asi pasas los link

Eje.

buscarpalabra.htm
Cita:
...
<input type="text" name="palabra" size="20">
...
paginar.asp
Cita:
...
<%
'el mismo nombre a la variable para recuperar el dato enviado
palabra = request("palabra")
...
'tu consulta etc
...
%>

<a href="./pag.asp?eje=30&page=<%= pagina_actual - 1 %>&palabra=<%=palabra%>">[<< Anterior]</a>
__________________
JuanRa Pérez
San Salvador, El Salvador
  #9 (permalink)  
Antiguo 03/11/2006, 14:56
 
Fecha de Ingreso: septiembre-2006
Mensajes: 161
Antigüedad: 17 años, 8 meses
Puntos: 0
De acuerdo

JuanRa te agradezco tus sugerencias ...ya solucioné mi problema...quedó asi:

MIL GRACIAS orharo2003!!!

<a href="./pag.asp?eje=30&page=<%= pagina_actual - 1 %>&mes1=<%=vFecha1%>&year1=<%=Request.QueryString("year1")%> ">[<< Anterior]</a>

  #10 (permalink)  
Antiguo 03/11/2006, 16:23
Avatar de JuanRAPerez
Colaborador
 
Fecha de Ingreso: octubre-2003
Mensajes: 2.393
Antigüedad: 20 años, 7 meses
Puntos: 27
bueno

me alegra solucionaras tu problema


salu
__________________
JuanRa Pérez
San Salvador, El Salvador
  #11 (permalink)  
Antiguo 04/11/2006, 09:31
 
Fecha de Ingreso: abril-2004
Ubicación: México D.F.
Mensajes: 1.724
Antigüedad: 20 años, 1 mes
Puntos: 4
Cita:
Iniciado por mary* Ver Mensaje
JuanRa te agradezco tus sugerencias ...ya solucioné mi problema...quedó asi:

MIL GRACIAS orharo2003!!!

<a href="./pag.asp?eje=30&page=<%= pagina_actual - 1 %>&mes1=<%=vFecha1%>&year1=<%=Request.QueryString("year1")%> ">[<< Anterior]</a>

Bueno, la cosa no fue tan sencilla verdad mary , pero bueno lo importante es q ya salio
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 00:37.