Ver Mensaje Individual
  #1 (permalink)  
Antiguo 14/11/2007, 22:17
darkmcloud
 
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