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

Problema Con Paginacion De Resultados

Estas en el tema de Problema Con Paginacion De Resultados en el foro de ASP Clásico en Foros del Web. Buenas amigos de foros del web.....tengo el siguiente problema......estoy construyendo un paginador de resultados de una busqueda.....el problema que tengo es que cuando me muestra ...
  #1 (permalink)  
Antiguo 14/11/2007, 22:17
 
Fecha de Ingreso: octubre-2007
Mensajes: 191
Antigüedad: 17 años, 6 meses
Puntos: 0
Problema Con Paginacion De Resultados

Buenas amigos de foros del web.....tengo el siguiente problema......estoy construyendo un paginador de resultados de una busqueda.....el problema que tengo es que cuando me muestra los 10 primeros registros se visualizan correctamente.....el problema es que cuando presiono el boton para ver los 10 siguientes..... se "salta" el filtro de la busqueda y me trae todos los registros......estuve buscando en el foro y la solucion era al crear el vinculo "10 siguientes" le pasara tambien el parametro de la busqueda.....pero no me resulta.....lo extraño es que si acerco el mouse hacia el link......me aparece la siguiente direccion :
Código:
http://localhost/bodega/Scripts/validar.asp?estado=REVISION
el campo estado es el que estoy consultando y "revision" el filtro que yo deseo aplicar.....pero al presionar el boton "siguiente" me trae todos los registros saltandose el criterio de busqueda.....y si sigo presionando los vinculos aparece:

Código:
http://localhost/bodega/Scripts/validar.asp?estado=&pagina=2
que podra ser ???

este es el codigo de mi pagina:

Cita:
validar.asp
<%
Dim Conn, RS, SQLQuery1
Dim PaginaActual ' en qué pagina estamos
Dim PaginasTotales ' cuántas páginas tenemos
Dim TamPagina ' cuantos registros por pagina
Dim CuantosRegistros ' para imprimir solo el nº de registro por pagina que queramos

TamPagina = 10

dim dbConn

'aca recibo los campos que voy a realizar la busqueda



On Error Resume next


'Leemos qué página mostrar. La primera vez será la inicial
if Request.Querystring( "pagina" ) = "" then
PaginaActual = 1
else
PaginaActual = CInt(Request.Querystring( "pagina" ))
end if

Set Conn = Server.CreateObject( "ADODB.Connection" )
Set RS = Server.CreateObject( "ADODB.Recordset" )

Conn.Open Session("cnx")


estado = Request.form("estado")

strSQL="SELECT *, DateDiff (day, fecha_in ,fecha_ret) as difes, DATEDIFF (DAY, fecha_in, getdate()) as difftot FROM tblcliente"


if estado <> "" then
if se_encuentra then
strSQL=strSQL & " AND estado LIKE '%"&estado&"'"
else
strSQL=strSQL & " WHERE estado LIKE '%"&estado&"'"
se_encuentra=True
end if
end if





' Defino el tamaño de las páginas
RS.PageSize = TamPagina
RS.CacheSize = TamPagina

' Abro el recordset
RS.Open strSQL, Conn, 1, 1

'Cuento las páginas
PaginasTotales = Rs.PageCount

'Compruebo que la pagina actual está en el rango
if PaginaActual < 1 then
PaginaActual = 1
end if
if PaginaActual > PaginasTotales then
PaginaActual = PaginasTotales
end if

'Por si la consulta no devuelve registros!
if PaginasTotales = 0 then
Response.Write( "No se encontraron resultados." )
else
'Vamos a paginar
Rs.AbsolutePage = PaginaActual
Response.Write( "Pagina " & PaginaActual & " de " &PaginasTotales)
Response.Write("<br><br>")
%>
<p align="center"><font color="#000000" size="4" face="Verdana, Arial, Helvetica, sans-serif" class="T&iacute;tulo1">&Uacute;ltimas
visitas recibidas</font></p>
<table border=1 align="center" cellpadding=3 cellspacing=0 bordercolor="#000000" bgcolor="#ccccc">
<tr bordercolor="#333333">
<td bgcolor="#F0F0F0"> <div align="center"><strong><font face="Verdana, Arial, Helvetica, sans-serif">csr</font></strong></div></td>
<td bgcolor="#F0F0F0"> <div align="center"><strong><font face="Verdana, Arial, Helvetica, sans-serif">nombre cliente
</font></strong></div></td>
<td bgcolor="#F0F0F0"> <div align="center"><strong><font face="Verdana, Arial, Helvetica, sans-serif">estado</font></strong></div></td>
<td bgcolor="#F0F0F0"> <div align="center"><strong><font face="Verdana, Arial, Helvetica, sans-serif">Fecha Ingreso</font></strong></div></td>
<td bgcolor="#F0F0F0"> <div align="center"><strong><font face="Verdana, Arial, Helvetica, sans-serif">Tipo Cliente</font></strong></div></td>
<td bgcolor="#F0F0F0"> <div align="center"><strong><font face="Verdana, Arial, Helvetica, sans-serif">Tecnico</font></strong></div></td>
</tr>
<%
CuantosRegistros = 0
Do while not RS.EOF and CuantosRegistros < TamPagina
i = i + 1
%>


<td><div align="center"><font size="2" face="Verdana, Arial, Helvetica, sans-serif"><small><%=RS.Fields("csr")%></small></font></div></td>
<td><div align="center"><font size="2" face="Verdana, Arial, Helvetica, sans-serif"><small><%=RS.Fields("nombre_cliente")%></small></font></div></td>
<td><div align="center"><font size="2" face="Verdana, Arial, Helvetica, sans-serif"><small><%=RS.Fields("estado")%></small></font></div></td>
<td><div align="center"><font size="2" face="Verdana, Arial, Helvetica, sans-serif"><small><%=RS.Fields("fecha_in")%></small></font></div></td>
<td><div align="center"><font size="2" face="Verdana, Arial, Helvetica, sans-serif"><small><%=RS.Fields("tipo_cliente")%></small></font></div></td>
<td><div align="center"><font size="2" face="Verdana, Arial, Helvetica, sans-serif"><small><%=RS.Fields("tecnico")%></small></font></div></td>


</tr>
<%
CuantosRegistros = CuantosRegistros + 1
RS.MoveNext
loop
%>
</table>
<%
end if

RS.Close
Conn.Close
set RS = nothing
set Conn = nothing

'Muestro los enlaces
Response.Write("<br><hr>")
if PaginaActual > 1 then
Response.Write(" <A HREF=validar.asp?estado="&estado&"&pagina="&Pagina Actual-1&">10 Anteriores</A>&nbsp;&nbsp;&nbsp;")
end if
if PaginaActual < PaginasTotales then
Response.Write(" <A HREF=validar.asp?estado="&estado&"&pagina="&Pagina Actual+1&">1 0 Siguientes</A>")

end if
%>
lo destacado con rojo es lo que esta posteado en el foro como solucion.....pero no se por que a mi no me resulta....PLEASE HELP ME !!!!

DE antemano muchas gracias
  #2 (permalink)  
Antiguo 15/11/2007, 00:02
Avatar de Shiryu_Libra
Colaborador
 
Fecha de Ingreso: febrero-2007
Ubicación: Cantando "Screenager" en "Kirafa Kaput"
Mensajes: 3.614
Antigüedad: 18 años, 1 mes
Puntos: 88
Re: Problema Con Paginacion De Resultados

veamos
si esta es tu raiz, para mostrar la consulta ordenada
Cita:
http:/ /localhost/bodega/Scripts/validar.asp?estado=REVISION
y esta es la estructura que tienes para la siguiente pagina
Cita:
'Muestro los enlaces
Response.Write("<br><hr>")
if PaginaActual > 1 then
Response.Write(" <A HREF=validar.asp?estado="&estado&"&pagina="&Pagina Actual-1&">10 Anteriores</A>&nbsp;&nbsp;&nbsp;")
end if
if PaginaActual < PaginasTotales then
Response.Write(" <A HREF=validar.asp?estado="&estado&"&pagina="&Pagina Actual+1&">1 0 Siguientes</A>")
end if
entonces mirando detenidamente, obtenemos que la variable para estado, DEBE Y SERA SIEMPRE, REVISION.

por lo tanto los enlaces deben ser de esta manera
Cita:

'Muestro los enlaces
Response.Write("<br><hr>")
if PaginaActual > 1 then%>
<A HREF="./validar.asp?estado=REVISION&pagina=<%Pagina Actual-1%>">10 Anteriores</A>&nbsp;&nbsp;&nbsp;"<%
end if
if PaginaActual < PaginasTotales then%>
<A HREF="./validar.asp?estado=REVISION&pagina=<%Pagina Actual+1%>">10 Siguientes</A><%
end if%>
intentalo de esta manera, y platicanos como te fue
__________________
"Eres parte del problema, parte de la solucion o parte del paisaje"
Un Saludo desde Desierto de Altar, Sonora, MX.
Shiryu_libra

Última edición por Shiryu_Libra; 15/11/2007 a las 00:09
  #3 (permalink)  
Antiguo 15/11/2007, 07:17
 
Fecha de Ingreso: octubre-2007
Mensajes: 191
Antigüedad: 17 años, 6 meses
Puntos: 0
Re: Problema Con Paginacion De Resultados

compadre........agradezco tu respuesta y probare tu codigo........pero "revision" es solo un ejemplo..........no es que siempre sea asi........porque es un buscador.......pero probare tu codigo y te digo...
  #4 (permalink)  
Antiguo 15/11/2007, 10:22
 
Fecha de Ingreso: octubre-2007
Mensajes: 191
Antigüedad: 17 años, 6 meses
Puntos: 0
Re: Problema Con Paginacion De Resultados

compadre.......no me funciono tu codigo.......mas encima en la primera pagina me sale la consulta correcta......pero ahora presiono el boton siguiente....y nuevamente se salta el filtro, y si quiero ir a la pagina 3......ya no me salen los siguientes resultados............que podra ser ??

De antemano muchas gracias
  #5 (permalink)  
Antiguo 16/11/2007, 17:59
 
Fecha de Ingreso: octubre-2007
Mensajes: 191
Antigüedad: 17 años, 6 meses
Puntos: 0
Re: Problema Con Paginacion De Resultados

bueno....encontre la solucion !!! antes que nada quiero agradecerle a Shiryu_Libra.....ya que siempre es uno de los primeros en responder.........vale compadre!!!
bueno....la solucion es que al pasar los valores en:

Cita:
Response.Write("<br><hr>")
if PaginaActual > 1 then
Response.Write(" <A HREF=validar.asp?tecnico="&tecnico&"&estado="&esta do&"&fecha_1="&fecha_1&"&fecha_2="&fecha_2&" &pagina="&PaginaActual-1&">10 Anteriores</A>&nbsp;&nbsp;&nbsp;")
end if
if PaginaActual < PaginasTotales then
Response.Write(" <A HREF=validar.asp?tecnico="&tecnico&"&estado="&esta do&"&fecha_1="&fecha_1&"&fecha_2="&fecha_2&"&pagin a="& PaginaActual+1 &">1 0 Siguientes</A>")
end if


al recibirlos en el formulario en ves de hacerlo asi:



Cita:
csr = Request.form("csr")
nombre_cliente = Request.form("nombre_cliente")
serie = Request.form("serie")
estado = Request.form("estado")
tecnico =Request.form("tecnico")



los recibo como :
Cita:
csr = Request("csr")
nombre_cliente = Request("nombre_cliente")
serie = Request("serie")
estado = Request("estado")
tecnico = Request("tecnico")


o sea en vez de Request.form....los recibo como Request.....y solucionado!!!!

Hasta pronto
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 12:42.