Ir para conteúdo

POWERED BY:

Arquivado

Este tópico foi arquivado e está fechado para novas respostas.

cintiadel

[Resolvido] Busca

Recommended Posts

Preciso fazer uma busca onde a pessoa posso buscar tanto selecionando o dropdown como digitando num textbox ele busque no meu banco de dados, mas da maneira como está feita a minha busca n está trazendo

será que alguém pode me ajudar

 

<%
if session("busca") = "" then
myselLoc = "select * from Local"
myselWhere = ""
'para cada campo que vier do form como requeste execute ...
for each field_name in request.form
if field_name <> "btnBuscar2.x" and field_name <> "btnBuscar2.y" and field_name <> "btnBuscar.x" and field_name <> "btnBuscar.y" and request(field_name) <> ""  then
'construção do comando where
myselWhere = myselWhere & field_name & "='" & request(field_name) & "' and "
end if
next
if myselWhere <> "" then
' se existir clausula where, adicionar where a sentença e eliminar o ultimo and que sobraria.
myselLoc = myselLoc & " where " & left(myselWhere,len(myselWhere)-4)
end if
'quarda o select pronto dentro da session busca
session("busca") = myselLoc
else
myselLoc = session("busca")
end if
'quantidade de registros por página. Você pode alterar sem conforme precise.
rsLoc.PageSize = 5
rsLoc.Open myselLoc,con,3,3
%>

Compartilhar este post


Link para o post
Compartilhar em outros sites

tipo isso colega!!

myselLoc = "select * from Local"
		
		if request.form("campo_combo") <> "" and request.form("campo_texto") <> "" Then
			myselLoc = myselLoc & "where coluna_combo = '"&request.form("campo_combo")&"' and coluna_texto like '%"&request.form("campo_texto")&"%'"
		end if
		
		if request.form("campo_combo") = "" and request.form("campo_texto") <> "" Then
			myselLoc = myselLoc & "where coluna_texto like '%"&request.form("campo_texto")&"%'"
		end if
		
		if request.form("campo_combo") <> "" and request.form("campo_texto")  "" Then
			myselLoc = myselLoc & "where coluna_combo = '"&request.form("campo_combo")&"'"
		end if

agora só adaptar

Compartilhar este post


Link para o post
Compartilhar em outros sites

tipo isso colega!!

myselLoc = "select * from Local"
		
		if request.form("campo_combo") <> "" and request.form("campo_texto") <> "" Then
			myselLoc = myselLoc & "where coluna_combo = '"&request.form("campo_combo")&"' and coluna_texto like '%"&request.form("campo_texto")&"%'"
		end if
		
		if request.form("campo_combo") = "" and request.form("campo_texto") <> "" Then
			myselLoc = myselLoc & "where coluna_texto like '%"&request.form("campo_texto")&"%'"
		end if
		
		if request.form("campo_combo") <> "" and request.form("campo_texto")  "" Then
			myselLoc = myselLoc & "where coluna_combo = '"&request.form("campo_combo")&"'"
		end if

agora só adaptar

amanha eu testo e posto se eu consegui

Compartilhar este post


Link para o post
Compartilhar em outros sites

ok!

fiz da seguinte forma e n funcionou

eu tenho 1 text box onde posso digitar o que eu quiser q ele pesquisará em todos os campos da tabela

e 6 dropdowns

 

if session("busca") = "" then
myselLoc = "select * from Local"
		
		if request.form("nomeLoc") <> "" and request.form("txtBusca") <> "" Then
			myselLoc = myselLoc & "where nomeLoc = '"&request.form("nomeLoc")&"' and txtBusca like '%"&request.form("txtBusca")&"%'"
		end if
		
		if request.form("tipoLoc") = "" and request.form("txtBusca") <> "" Then
			myselLoc = myselLoc & "where txtBusca like '%"&request.form("txtBusca")&"%'"
		end if
		
		if request.form("catLoc") <> "" and request.form("txtBusca")  "" Then
			myselLoc = myselLoc & "where catLoc = '"&request.form("catLoc")&"'"
		end if

session("busca") = myselLoc
else
		myselLoc = session("busca")
end if
alguem pode me ajudar preciso resolver isso urgente

Compartilhar este post


Link para o post
Compartilhar em outros sites

aqui colega: coloquei 3 combos, mais ai você coloca seus 6 combos, esse é a lógica e funciona:

 

myselLoc = "select * from Local where "

if request.form("campo_combo1") Then
myselLoc = myselLoc & "coluna_combo1 = '"&request.form("campo_combo1")&"' And "
end if

if request.form("campo_combo2") Then
myselLoc = myselLoc & "coluna_combo2 = '"&request.form("campo_combo1")&"' And "
end if

if request.form("campo_combo3") Then
myselLoc = myselLoc & "coluna_combo3 = '"&request.form("campo_combo1")&"' And "
end if

myselLoc = myselLoc & "txtBusca like '%"&request.form("txtBusca")&"%'"

adapte corretamente que fica legal

 

OBS: CASO NÃO ESTEJA BUSCANDO CORRETAMENTE TROQUE O "AND" POR "OR" NO SQL

Compartilhar este post


Link para o post
Compartilhar em outros sites

aqui colega: coloquei 3 combos, mais ai você coloca seus 6 combos, esse é a lógica e funciona:

 

myselLoc = "select * from Local where "

if request.form("campo_combo1") Then
myselLoc = myselLoc & "coluna_combo1 = '"&request.form("campo_combo1")&"' And "
end if

if request.form("campo_combo2") Then
myselLoc = myselLoc & "coluna_combo2 = '"&request.form("campo_combo1")&"' And "
end if

if request.form("campo_combo3") Then
myselLoc = myselLoc & "coluna_combo3 = '"&request.form("campo_combo1")&"' And "
end if

myselLoc = myselLoc & "txtBusca like '%"&request.form("txtBusca")&"%'"

adapte corretamente que fica legal

 

OBS: CASO NÃO ESTEJA BUSCANDO CORRETAMENTE TROQUE O "AND" POR "OR" NO SQL

da erro

Erro de tempo de execução do Microsoft VBScript erro '800a000d'

 

Tipos incompatíveis: '[string: ""]'

 

/BuscaRes.asp, line 33

Compartilhar este post


Link para o post
Compartilhar em outros sites

qual é a linha?

 

destaque ela ai!

 

deve ser os ifs que não coloquei igualdade:

 

if request.form("campo_combo1")  = "" Then

Compartilhar este post


Link para o post
Compartilhar em outros sites

eu corrigi e parou de dar esse erro

agora esta dando

Microsoft OLE DB Provider for SQL Server erro '80040e14'

 

Invalid column name 'txtBusca'.

line 73

 

que é a linha da execucao de query

 

eu n tenho essa coluna no meu banco, qdo digitasse algo nesse campo gostaria que ele buscasse em toda a tabela local e me exibisse o que encontrou com aquela palavra

Compartilhar este post


Link para o post
Compartilhar em outros sites

você tem que especificar os campos, ele não pode buscar assim do nada, se tem 4 colunas na tabela, tem que colocar as quatro, não tem jeito, se tiver 20, coloca as vinte e assim por diante

 

myselLoc = myselLoc & "txtBusca like '%"&request.form("txtBusca")&"%' or outro_campo like '%"&request.form("txtBusca")&"%'"

e assim vai!

Compartilhar este post


Link para o post
Compartilhar em outros sites

você tem que especificar os campos, ele não pode buscar assim do nada, se tem 4 colunas na tabela, tem que colocar as quatro, não tem jeito, se tiver 20, coloca as vinte e assim por diante

 

myselLoc = myselLoc & "txtBusca like '%"&request.form("txtBusca")&"%' or outro_campo like '%"&request.form("txtBusca")&"%'"

e assim vai!

 

nao deu certo nao aparece nenhum registro encontrado, mas certeza q tem a palavra que digitei no banco

myselLoc = myselLoc & "nomeLoc like '%"&request.form("txtBusca")&"%' or catLoc like '%"&request.form("txtBusca")&"%' or cidLoc like '%"&request.form("txtBusca")&"%' or bairLoc like '%"&request.form("txtBusca")&"%'"

Compartilhar este post


Link para o post
Compartilhar em outros sites

poste seu código agora completo para ver como está fazendo, vamos resolver isso agora

<%
if session("busca") = "" then

myselLoc = "select * from Local where "

if request.form("txtBusca") = "" Then
myselLoc = myselLoc & "nomeLoc like '%"&request.form("txtBusca")&"%' or catLoc like '%"&request.form("txtBusca")&"%' or cidLoc like '%"&request.form("txtBusca")&"%' or bairLoc like '%"&request.form("txtBusca")&"%'"
end if

if request.form("nomeLoc") = "" Then
myselLoc = myselLoc & "nomeLoc = '"&request.form("nomeLoc")&"' And "
end if

if request.form("tipoLoc") = "" Then
myselLoc = myselLoc & "tipoLoc = '"&request.form("tipoLoc")&"' And "
end if

if request.form("catLoc") = "" Then
myselLoc = myselLoc & "catLoc = '"&request.form("catLoc")&"' And "
end if

if request.form("estLoc") = "" Then
myselLoc = myselLoc & "estLoc = '"&request.form("estLoc")&"' And "
end if

if request.form("cidLoc") = "" Then
myselLoc = myselLoc & "cidLoc = '"&request.form("cidLoc")&"' And "
end if

if request.form("bairLoc") = "" Then
myselLoc = myselLoc & "bairLoc = '"&request.form("bairLoc")&"'"
end if
		
		'quarda o select pronto dentro da session busca
		session("busca") = myselLoc
else
		myselLoc = session("busca")
end if


	'criado apenas para teste.
 	'response.write session("busca")
	'response.end 

	'quantidade de registros por página. Você pode alterar sem conforme precise.
	rsLoc.PageSize = 5

	rsLoc.Open myselLoc,con,3,3
%>

Compartilhar este post


Link para o post
Compartilhar em outros sites

function query(valor)

query = Request.QueryString(valor)

end function

 

myselLoc = "select * from Local where "

If CStr(query("estLoc")) <> "" Then

myselLoc = myselLoc & "estLoc = '"&query("estLoc")&"' And "

End If

If CStr(query("tipoLoc")) <> "" Then

myselLoc = myselLoc & "tipoLoc = '"&query("tipoLoc")&"' And "

End If

If CStr(query("catLoc")) <> "" Then

myselLoc = myselLoc & "catLoc = '"&query("catLoc")&"' And "

End If

If CStr(query("cidLoc")) <> "" Then

myselLoc = myselLoc & "cidLoc = '"&query("cidLoc")&"' And "

End If

If CStr(query("bairLoc")) <> "" Then

myselLoc = myselLoc & "bairLoc = '"&query("bairLoc")&"' And "

End If

If CStr(query("nomeLoc")) <> "" Then

myselLoc = myselLoc & "nomeLoc = '"&query("nomeLoc")&"' And "

End If

If CStr(query("txtBusca")) <> "" Then

myselLoc = myselLoc & "nomeLoc like '%"&query("txtBusca")&"%' or catLoc like '%"&query("txtBusca")&"%' or cidLoc like '%"&query("txtBusca")&"%' or bairLoc like '%"&query("txtBusca")&"%' And "

End If

myselLoc = myselLoc & "idLoc <> ''"

Compartilhar este post


Link para o post
Compartilhar em outros sites

function query(valor)
		query = Request.QueryString(valor)
	end function
	
	myselLoc = "select * from Local where "
		If CStr(query("estLoc")) <> "" Then
			myselLoc = myselLoc & "estLoc = '"&query("estLoc")&"' And "
		End If
		If CStr(query("tipoLoc")) <> "" Then
			myselLoc = myselLoc & "tipoLoc = '"&query("tipoLoc")&"' And "
		End If
		If CStr(query("catLoc")) <> "" Then
			myselLoc = myselLoc & "catLoc = '"&query("catLoc")&"' And "
		End If
		If CStr(query("cidLoc")) <> "" Then
			myselLoc = myselLoc & "cidLoc = '"&query("cidLoc")&"' And "
		End If
		If CStr(query("bairLoc")) <> "" Then
			myselLoc = myselLoc & "bairLoc = '"&query("bairLoc")&"' And "
		End If
		If CStr(query("nomeLoc")) <> "" Then
			myselLoc = myselLoc & "nomeLoc = '"&query("nomeLoc")&"' And "
		End If
		If CStr(query("txtBusca")) <> "" Then
			myselLoc = myselLoc & "nomeLoc like '%"&query("txtBusca")&"%' or catLoc like '%"&query("txtBusca")&"%' or cidLoc like '%"&query("txtBusca")&"%' or bairLoc like '%"&query("txtBusca")&"%' And "
		End If
	myselLoc = myselLoc & "idLoc <> ''"
tópico resolvido

Compartilhar este post


Link para o post
Compartilhar em outros sites

×

Informação importante

Ao usar o fórum, você concorda com nossos Termos e condições.