Sou nova em Asp e estou desenvolvendo uma busca com várias categorias.
Funciona assim tenho um campo pra digitar uma informação e logo abaixo as 4 opções que posso usar para fazer a busca.
tem que aparecer todas as informações que tem na opção de procura, isso está certinho, o problema é que estão aparecendo todos os produtos que tenho no bd.
Como faço pra buscar só aquele específico que eu mandar buscar?
<%@ LANGUAGE="VBSCRIPT" %>
<html>
<head>
<title>Pesquisa</title>
</head>
<body>
<%
Dim Sql
Set BdWeb = Server.CreateObject("ADODB.Connection")
BdWeb.Open = "Provider=Microsoft.Jet.OLEDB.4.0;Data Source=" & Server.MapPath("Pesquisa.mdb")
Sql = "SELECT * FROM Pesquisa"
If Request.Form("Campo") = "NumeroMedauto" Then
Sql = Sql & " WHERE NumeroMedauto LIKE '%" & Request.Form("Criterio") & "%'"
End If
If Request.Form("Campo") = "NumeroOriginal" Then
Sql = Sql & " WHERE NumeroOriginal LIKE '%" & Request.Form("Criterio") & "%'"
End If
If Request.Form("Campo") = "Sinonimo" Then
Sql = Sql & " WHERE Sinonimo LIKE '%" & Request.Form("Criterio") & "%'"
End If
If Request.Form("Campo") = "NomedoProduto" Then
Sql = Sql & " WHERE NomedoProduto LIKE '%" & Request.Form("Criterio") & "%'"
End If
Set RsWeb = Server.CreateObject("ADODB.Recordset")
RsWeb.Open Sql, BdWeb, 3
%>
<%
If RsWeb.BOF and RsWeb.EOF Then%>
<h2 align="center">Nenhuma informação localizada ! </h2>
<hr>
<center><a href="busca.htm">Retorna</a></center>
<%Else%>
<%If Not RsWeb.BOF Then%>
<h2>Resultado da Busca:</h2>
<hr>
<table BORDER="0" width="100%" cellpadding="3">
<%
Do While Not RsWeb.EOF
%>
<td>
<tr><b>Número Medauto :</b>
<%=RsWeb("NumeroMedauto")%> 
</tr><tr><b>Número Original :</b>
<%=RsWeb("NumeroOriginal")%>
</tr><tr><b>Sinonimo:</b> <br>
<%=RsWeb("Sinonimo")%>
</tr><tr><b>Nome do Produto:</b> <br>
<%=RsWeb("NomedoProduto")%>
</tr>
<hr>
<tr>
</td>
<p>
<%RsWeb.MoveNext
Loop%>
<center><a href="busca.htm">Retorna</a></center>
</table>
<%End If%>
<%End If%>
<%
RsWeb.Close
BdWeb.Close
%>
</body>
</html>
Pergunta
vivi@ne
Sou nova em Asp e estou desenvolvendo uma busca com várias categorias.
Funciona assim tenho um campo pra digitar uma informação e logo abaixo as 4 opções que posso usar para fazer a busca.
tem que aparecer todas as informações que tem na opção de procura, isso está certinho, o problema é que estão aparecendo todos os produtos que tenho no bd.
Como faço pra buscar só aquele específico que eu mandar buscar?
O código tá aqui:
html
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN"> <HTML><HEAD><TITLE></TITLE> <META http-equiv=Content-Type content="text/html; charset=windows-1252"> <META content="MSHTML 6.00.2900.2180" name=GENERATOR></HEAD> <BODY READONLY="1"> <TABLE style="WIDTH: 341px; HEIGHT: 138px" cellSpacing=0 cellPadding=0 align=center background="" border=1> <TBODY> <TR> <TD align=middle background=""> <P align=center>Procurar por:</P></TD> <TD align=middle background=""> <P align=center> <FORM name=busca action=busca.asp method=post> <SELECT size=1 name=criterio> <OPTION value=NumeroMedauto selected>Numero Medauto</OPTION> <OPTION value=NumeroOriginal>Numero Original</OPTION> <OPTION value=Sinonmo>Sinonimo</OPTION> <OPTION value=NomedoProduto>Nome do Produto</OPTION> </SELECT></P></TD></TR> <TR> <TD> <P align=center> </P></TD> <TD align=middle background=""> <P align=center><INPUT name=nomedoproduto></P></TD></TR> <TR> <TD align=middle background=""> <P align=center><INPUT type=submit value=Procurar name=procurar></P></TD> <TD align=middle background=""> <P align=center><INPUT type=reset value=Limpar name=limpar></P></TD></TR></TBODY></TABLE></FORM></BODY></HTML>ASP<%@ LANGUAGE="VBSCRIPT" %> <html> <head> <title>Pesquisa</title> </head> <body> <% Dim Sql Set BdWeb = Server.CreateObject("ADODB.Connection") BdWeb.Open = "Provider=Microsoft.Jet.OLEDB.4.0;Data Source=" & Server.MapPath("Pesquisa.mdb") Sql = "SELECT * FROM Pesquisa" If Request.Form("Campo") = "NumeroMedauto" Then Sql = Sql & " WHERE NumeroMedauto LIKE '%" & Request.Form("Criterio") & "%'" End If If Request.Form("Campo") = "NumeroOriginal" Then Sql = Sql & " WHERE NumeroOriginal LIKE '%" & Request.Form("Criterio") & "%'" End If If Request.Form("Campo") = "Sinonimo" Then Sql = Sql & " WHERE Sinonimo LIKE '%" & Request.Form("Criterio") & "%'" End If If Request.Form("Campo") = "NomedoProduto" Then Sql = Sql & " WHERE NomedoProduto LIKE '%" & Request.Form("Criterio") & "%'" End If Set RsWeb = Server.CreateObject("ADODB.Recordset") RsWeb.Open Sql, BdWeb, 3 %> <% If RsWeb.BOF and RsWeb.EOF Then%> <h2 align="center">Nenhuma informação localizada ! </h2> <hr> <center><a href="busca.htm">Retorna</a></center> <%Else%> <%If Not RsWeb.BOF Then%> <h2>Resultado da Busca:</h2> <hr> <table BORDER="0" width="100%" cellpadding="3"> <% Do While Not RsWeb.EOF %> <td> <tr><b>Número Medauto :</b> <%=RsWeb("NumeroMedauto")%>  </tr><tr><b>Número Original :</b> <%=RsWeb("NumeroOriginal")%> </tr><tr><b>Sinonimo:</b> <br> <%=RsWeb("Sinonimo")%> </tr><tr><b>Nome do Produto:</b> <br> <%=RsWeb("NomedoProduto")%> </tr> <hr> <tr> </td> <p> <%RsWeb.MoveNext Loop%> <center><a href="busca.htm">Retorna</a></center> </table> <%End If%> <%End If%> <% RsWeb.Close BdWeb.Close %> </body> </html>Espero uma mãozinha....
Até mais
Link para o comentário
Compartilhar em outros sites
4 respostass a esta questão
Posts Recomendados
Participe da discussão
Você pode postar agora e se registrar depois. Se você já tem uma conta, acesse agora para postar com sua conta.