Ver Mensaje Individual
  #1 (permalink)  
Antiguo 19/12/2005, 12:45
Edan16
 
Fecha de Ingreso: abril-2002
Mensajes: 83
Antigüedad: 23 años, 1 mes
Puntos: 1
Un problema con mi buscador y paginacion

Hola muchachos. Tengo el problema con el siguiente buscador. El asunto es que tengo una web en donde en un form pones un producto que quieres buscar, y combiné un buscador ya hecho con un sistema de paginacion. El unico problema es que cuando le das a buscar, la primera pagina si te da los resultados de la busqueda, pero de la segunda en adelante, me devuelve todos los productos que tengo disponible, y no se limita a solamente mostrar lo que escribi en el form.

No se si el problema es porque tengo que trabajar con GET o POST, la variable buscar la obtengo desde post, pero la paginacion la trabaja desde request.querystring... Podria alguien echarle un vistazo al siguiente codigo, y mostrarme donde estan los errores por favor?

<%
buscar = Request.Form("textfield")

sSQL="SELECT titulo, ID FROM recetas WHERE ingre LIKE '%" & buscar & "%' ORDER BY ID desc"

If Request.QueryString("pag")<>"" then
Session("pagina")=Request.QueryString("pag")
Else
Session("pagina")=1
End If

Const adCmdText = &H0001
Const adOpenStatic = 3

Set Conn = Server.CreateObject("ADODB.Connection")
strconn = "DRIVER={Microsoft Access Driver (*.mdb)}; DBQ=" & Server.MapPath("cocinadivertida.mdb")
Set Command = Server.CreateObject("ADODB.Command")
Set RS =Server.CreateObject("ADODB.RecordSet")
Conn.Open strconn
RS.Open sSQL,Conn,adopenstatic,adcmdtext

num_registros = 20

RS.PageSize=num_registros
RS.AbsolutePage=Session("pagina")
%>

<div align="center">
N&uacute;mero de p&aacute;gina actual: <b><%=Session("pagina")%></b>
<br>
N&uacute;mero de p&aacute;ginas total: <b><%=RS.PageCount%></b>
<br>
N&uacute;mero de registros por p&aacute;gina: <b><%=RS.PageSize%></b>
<br>
N&uacute;mero de registros seleccionados: <b><%=RS.RecordCount%></b>
</div>
<br><br>

<table cellspacing="2" cellpadding="2" border="1" align="center">
<%
'Contamos el numero de campos de la tabla
num_campos=RS.Fields.Count
For campo=0 to num_campos-1%>
<td align="center"><%=RS(campo).Name%></td>
<%
Next
registros_mostrados = 0
While (Not RS.eof And registros_mostrados < num_registros)
registros_mostrados = registros_mostrados +1
%>
<tr>
<%For campo=0 to num_campos-1 %>
<td align="center"><%=RS(campo)%></td>
<%Next%>
</tr>
<%
RS.MoveNext
Wend
%>
<tr>
<td colspan="<%=num_campos%>" align="center">
<%
i=0
While i<RS.PageCount
i=i+1
%>
<b><a href="paginador2.asp?pag=<%=i%>"><%=i%></a></b>
<%
Wend
%>
</td>
</tr>
</table>
<%
RS.Close
Conn.Close
%>

Gracias por todo.

Eduardo