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

buscador en asp

Estas en el tema de buscador en asp en el foro de ASP Clásico en Foros del Web. Tengo un problema...Hice un buscador en mi web, y cuando le puse paginacion para poder ordernar los datos, ya no me busca la palabra que ...
  #1 (permalink)  
Antiguo 17/03/2004, 09:52
Avatar de tork  
Fecha de Ingreso: noviembre-2003
Ubicación: Veracruz
Mensajes: 153
Antigüedad: 21 años, 6 meses
Puntos: 0
buscador en asp

Tengo un problema...Hice un buscador en mi web, y cuando le puse paginacion para poder ordernar los datos, ya no me busca la palabra que quiero, si no que me muestra todos los datos de la tabla. Por ejemplo: Me meto al buscador y busco la palabra perro pues a la hora que le doy buscar me aparecen todos los datos, no solo el de perro si no todos...Este es mi codigo:

<%
sSQL = "Select * From Tabla1 Where UCase(pal) like '%" & UCase(Request("palabra")) & "%'"

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")
Set Command = Server.CreateObject("ADODB.Command")
Set RS =Server.CreateObject("ADODB.RecordSet")
Conn.Open "Driver={Microsoft Access Driver (*.mdb)}; " & "Dbq=" & Server.MapPath("base.mdb")
RS.Open sSQL,Conn,adopenstatic,adcmdtext

num_registros = 5

RS.PageSize=num_registros
RS.AbsolutePage=Session("pagina")
%>
<html> <head> <title>Búsqueda en bozz</title> <style type="text/css">
a.clase1{font-family:Arial;color:white;text-decoration:none;}
a.clase1:hover{font-family:Arial;color:white;text-decoration:underline;}
a.clase1:active{font-family:Arial;color:white;text-decoration:none;}
a.clase1:visited{font-family:Arial;color:white;}
a.clase2{font-family:Verdana;color:#ff6347;text-decoration:underline;}
a.clase2:hover{font-family:Verdana;color:#ff6347;text-decoration:none;}
a.clase2:active{font-family:Verdana;color:#ff6347;text-decoration:none;}
a.clase2:visited{font-family:Verdana;color:#ff6347;}
</style> </head> <body bgcolor="white"> <center><img src="laweb.gif"></center>
<form method="Post" action="buscar.asp">
<p align="center"><font face="Tahoma" size="2"><b>Búsqueda:&nbsp;&nbsp;</b></font> <input type="text" name="pal" size="30" value="<%Request("pal") %>">
<input type="submit" value="Búsqueda" name="boton1" class="boton"></form> <input name="mode" type="hidden" id="mode" value="allwords"><p>
<table border=0 cellpadding=0 cellspacing=0><tr><td width=1 bgcolor=#808080><img width=1 height=1 alt=""></td><td width=1 bgcolor=#ffffff><img width=1 height=1 alt=""></td></table>
<table align="center" width=40% border=0 cellpadding=1 cellspacing=0 bgcolor=#3366cc><tr><td bgcolor=#3366cc nowrap><table width=100% border=0 cellpadding=1 cellspacing=0 bgcolor=#3366cc><tr><td align="center" bgcolor=#3366cc nowrap>
<b><font color="white"><a class="clase1" href="buscar.html">La Web</a>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp;&nbsp;
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<a class="clase1" href="img.html">Imágenes</a>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp;
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<a class="clase1" href="dir.html">Directorio</a></b></font>
<br></tr></td></table></table></table>
<table border=0 cellpadding=0 cellspacing=0><tr><td width=1 bgcolor=#808080><img width=1 height=1 alt=""></td><td width=1 bgcolor=#ffffff><img width=1 height=1 alt=""></td></table>
<table width=100% border=0 cellpadding=1 cellspacing=0 bgcolor=#3366cc><tr><td bgcolor=#3366cc nowrap><table width=100% border=0 cellpadding=1 cellspacing=0 bgcolor=#3366cc><tr><td bgcolor=#3366cc nowrap>
<font size=-1 color="white">Resultados obtenidos con <strong><font size=+1><%=Request("pal")%></font></strong> en la web &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<FONT SIZE="+1">Página <B><%=Session("pagina")%></B> de <B><%=RS.PageCount%></B></FONT></font> </center></tr></td></table></table></table><font color="white">
<table width=100% border=0 cellpadding=0 cellspacing=0><tr><td bgcolor=#efefef width=100%>
<font color=#efefef>
<%
'Contamos el numero de campos de la tabla
num_campos=RS.Fields.Count
For campo=0 to num_campos-1%>
<%
Next
registros_mostrados = 0
While (Not RS.eof And registros_mostrados < num_registros)
registros_mostrados = registros_mostrados +1
%>
<div align="left"><b><font size="4" color="black"><a href="<%=rs.Fields("url")%>"><%=rs.Fields("Nombre" )%></font><br></b></a>
<font size="4" color="black"><%=rs.Fields("Des")%></font><br><a href="<%=rs.Fields("url")%>"><font size="4" color="green"><%=rs.Fields("url")%><br></font></a> <br>
<%
RS.MoveNext
Wend
%><br><b>
<font color="black" size=3>
Página&nbsp;&nbsp;</font></b>
<%
i=0
While i<RS.PageCount
i=i+1
%>
<font size=3>
<b>
<a class="clase2" href="buscar.asp?pag=<%=i%>"><%=i%></a>&nbsp;&nbsp;&nbsp;&nbsp;</b></font>



<%
Wend
%>
<%
RS.Close
Conn.Close
%>

</td>
</tr>
</table>
</table> </center></div> <p><center><font size=-1 color="black">&copy;2004 <b>Bozz</b> - Buscador de páginas web</font></p></center>
<div id="layer1" style="position:absolute; left:630px; top:20px;"><h3><a href="buscar.html">La web</a><br><a href="dir.html">Directorio</a><br><a href="conoce.html">Conoce Bozz</a></div></h3>
<div id="layer2" style="position:absolute; left:10px; top:20px;"><img src="bozz.gif" widht=110 height=58></div>
</body> </html>


Gracias de antemano
  #2 (permalink)  
Antiguo 17/03/2004, 10:38
 
Fecha de Ingreso: noviembre-2003
Ubicación: Distrito Federal
Mensajes: 225
Antigüedad: 21 años, 5 meses
Puntos: 0
Ya vi donde puede estar el problema. Te explico brevemente, cuando haces la paginacion lo que indicas es que los resultados de una consulta los vas a dividir en grupos de un numero determinado de registros y de esa forma tienes página 1, página 2, etc. Sin embargo cuando vuelves a llamar la página buscar.asp, con los indices de las páginas siguientes, no estas enviando la palabra de busqueda, unicamente estas enviando el numero de página, pero para el ASP es como si la llamaras de nuevo y en el buscador una palabra vacia, por eso te envia todos los resultados.
Lo que debes de hacer es ademas de enviar la página, también tienes que enviar la palabra que el usuario proporciono en el buscador. de esa forma se vuelve a generar la misma consulta y ahora si puedes acceder a la página que estes requiriendo.
Entra a este sitio:
www.mundovid.com
En el buscador pon alguna palabra de un comic y luego ve a la parte final de la página en donde estan las páginas y pon el mouse encima de uno de los numero, veras como se envia el numero de página y el texto que pusiste en el buscador.

Espero te sirva

Saludos
  #3 (permalink)  
Antiguo 17/03/2004, 10:48
Avatar de tork  
Fecha de Ingreso: noviembre-2003
Ubicación: Veracruz
Mensajes: 153
Antigüedad: 21 años, 6 meses
Puntos: 0
Gracias Ysdragil por la informacion, pero no tendras algo mas concetro, por ejemplo que me digas cual es le codigo que le tengo que poner para que no ´pase eso...

De todas formas muchas gracias ´por lo que me dijiste.
__________________
... www.kaomix.com ... :aplauso:
kao0 power
  #4 (permalink)  
Antiguo 17/03/2004, 11:35
 
Fecha de Ingreso: noviembre-2003
Ubicación: Distrito Federal
Mensajes: 225
Antigüedad: 21 años, 5 meses
Puntos: 0
Te mando una parte de tu codigo modificada.

<%
i=0
While i<RS.PageCount
i=i+1
%>
<font size=3>
<b>
<a class="clase2" href="buscar.asp?pag=<%=i%>&palabra=<%=Request("pa labra")%>"><%=i%></a> </b></font>
<%
Wend
%>

Si te fijas le agregue la variable palabra y le envio el valor que ya habias recibido en tu página y que utilizas en tu consulta

Espero que esto te sirva

Saludos
  #5 (permalink)  
Antiguo 17/03/2004, 21:56
Avatar de tork  
Fecha de Ingreso: noviembre-2003
Ubicación: Veracruz
Mensajes: 153
Antigüedad: 21 años, 6 meses
Puntos: 0
Que raro, a pesar de que le puse esa parte del codigo cambiada sigue sin buscar la palabra que pongo, sigue poniendo toda la base de datos...
Entonces, nadie sabe que es lo que pasa???
__________________
... www.kaomix.com ... :aplauso:
kao0 power
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 06:00.