Ir para conteúdo

POWERED BY:

Arquivado

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

theverme

sistema de busca

Recommended Posts

<!--#include file="include/conexao.inc"-->

<%

dim conexaodb

call abreconexao

veiculo = request.QueryString("veiculo")

marca = request.QueryString("marca")

modelo = request.QueryString("modelo")

preco = request.QueryString("preco")

precoate = request.QueryString("precoate")

ano = request.QueryString("ano")

anoate = request.QueryString("anoate")

if request.QueryString("veiculo") = "c_u" then

sql = "select * from estoque where modelo like'%"&modelo&"%'OR id_marca LIKE '%" & marca & "%' and ano between '" +ano+ "' and '" + anoate + "' and preco between '" + preco + "' and '" + precoate + "'"

set rs = conexaodb.execute(sql)

if rs.eof then

response.Write("erro")

else

do while not rs.eof

%>

<br>

<%=rs("modelo")%>

<%

rs.movenext

loop

end if

end if

%>

ola galera estou tentando fazer um sistema de busca estilo o do webmotors porem quando faço a busca ele não me retorna os valores

pesquisado corretamente gostaria de saber se alguem pode e ajudar ....

Compartilhar este post


Link para o post
Compartilhar em outros sites

ID_MARCA e MODELO é texto ou numérico?

 

Não utilize OR, apenas AND, pois você quer retornar os veículos com determinadas características, correto?

Compartilhar este post


Link para o post
Compartilhar em outros sites

ID_MARCA e MODELO é texto ou numérico?

 

Não utilize OR, apenas AND, pois você quer retornar os veículos com determinadas características, correto?

então id_marca é numéro , modelo é texto

 

ai idéia é pega o id_marca, modelo, compara o ano com o anote, e preço e preço ate

e depois exibir os registros que se encacha com os pesquisados...

Compartilhar este post


Link para o post
Compartilhar em outros sites

Então isso aqui está errado:

id_marca LIKE '%" & marca & "%'

 

Deve ser

id_marca =" & marca & "

Compartilhar este post


Link para o post
Compartilhar em outros sites

nao utilize o "+"...

tente

sql = "select * from estoque where modelo like '%"&modelo&"%' AND id_marca LIKE %" & marca & "% and ano between '"&ano& "' and '" &anoate& "' and preco between '" &preco &"' and '"& precoate& "'"

considerando os campos com texto

Compartilhar este post


Link para o post
Compartilhar em outros sites

Microsoft OLE DB Provider for ODBC Drivers (0x80040E14)

[Microsoft][Driver ODBC para Microsoft Access] Erro de sintaxe na expressão de consulta 'modelo like '%Gol%' AND id_marca LIKE %61% and ano between '2007' and '2008' and preco between '2.000' and '14.000''.

/site/combox/carros/bcarros.asp, line 14

 

deu esse erro

Compartilhar este post


Link para o post
Compartilhar em outros sites

Faz faz correção que citei e poste o resultado.

 

Retire também as aspas simples das comparações com número.

Compartilhar este post


Link para o post
Compartilhar em outros sites

Então isso aqui está errado:

id_marca LIKE '%" & marca & "%'

 

Deve ser

id_marca =" & marca & "

 

sql = "select * from estoque where modelo like'%"&modelo&"%'and id_marca =" & marca & " and ano between '" +ano+ "' and '" + anoate + "' and preco between '" + preco + "' and '" + precoate + "'"

 

 

fiz as modificações e deu esse erro.

------------------------------------------------------------------------------------------------------------------------------

Microsoft OLE DB Provider for ODBC Drivers (0x80040E07)

Microsoft][Driver ODBC para Microsoft Access] Tipo de dados imcompatível na expressão de critério.

/site/combox/carros/bcarros.asp, line 14

 

------------------------------------------------------------------------------------------------------------------------------

Compartilhar este post


Link para o post
Compartilhar em outros sites

sql = "select * from estoque where modelo like'%"&modelo&"%' and id_marca =" & marca & " and ano between " +ano+ " and " + anoate + " and preco between " + preco + " and " + precoate + ""

Preço é numerico ou texto? Tirei as aspas pq achei que era o número. E ano provavelmente é numérico né? Também retirei as aspas simples.

 

Sobre erro, você deixou o AND colado na aspas simples... isso não pode.

Compartilhar este post


Link para o post
Compartilhar em outros sites

Pessoal!

 

Aproveitando a deixa deste tópico, como posso fazer issso abaixo:

 

 

Tenho uma input para localizar produtos e uma select para categorias.

 

Seria assim:

 

INPUT BUSCA : SELECT CATEGORIA : BUTTON BUSCAR

 

Precisaria fazer assim eu acho:

1) Se o cara não digitar na no input busca e também não selecionar nada na select, ele monta todos os registros;

2) Se o cara digitar apenas dados no input busca e não selecionar nada no select, ele deve buscar apenas pelo input;

3) Se o cara escolher apenas dados no select e não digitar nada no input busca, ele deve buscar apenas pela categoria;

4) mas se caso ele digitar algo no input busca e também no select, deve buscar pelo input dentro da categoria do select.

 

Entenderam:

Como posso fazer isso:

 

 

Resgato os campos como INPUTBUSCA e o SELECTCAT

 

 

 

Poderiam me ajudar nestes if's, pois já tentei, mas não consigo, fico confuso com mais de um if, quem dirá 4...

 

 

Obrigado XAMBURZUM , HARGON e THEVERME

Compartilhar este post


Link para o post
Compartilhar em outros sites

sql = "select * from estoque where modelo like'%"&modelo&"%' and id_marca =" & marca & " and ano between " +ano+ " and " + anoate + " and preco between " + preco + " and " + precoate + ""

Preço é numerico ou texto? Tirei as aspas pq achei que era o número. E ano provavelmente é numérico né? Também retirei as aspas simples.

 

Sobre erro, você deixou o AND colado na aspas simples... isso não pode.

 

hargon,xanburzum consegui resolver uma parte do problema.

 

 

fiz uma pesquisa do tipo:

 

--------------------------------------------------------------------------------------------------------------------------------------------------------------------

sql = "select * from estoque where modelo like'%"&modelo&"%' and id_marca =" & marca & " and ano between " &ano& " and " &anoate& ""

--------------------------------------------------------------------------------------------------------------------------------------------------------------------

Funciono perfeitamente

agora so falta adiciona o preco e precoate = unidade monetaria no bd poren na minha select ele esta assim :

 

10.000 e no meu bd esta 10,000

Compartilhar este post


Link para o post
Compartilhar em outros sites

Pessoal, não vamos tumultuar o tópico. Quem tem dúvidas, crie um tópico e aguarde ser respondido.

 

Qualquer post não relacionado a dúvida do theverme será removido e o usuário advertido via MP conforme as Regras do Fórum.

 

 

----------------

 

theverme, pesquisa aqui no Fórum sobre como formatar moeda, converta para o formato que deve ser e faça a comparação.

Compartilhar este post


Link para o post
Compartilhar em outros sites

ai galera resolvi o poblema então a sql fico assim:

 

------------------------------------------------------------------------------------------------------------------------------------------------------------------------------

"select * from estoque where modelo like'%"&modelo&"%' and id_marca =" & marca & " and ano between " &ano& " and " &anoate& " and preco between " + preco + " and " + precoate + ""

-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------

 

agradeço a todos pela ajuda. hargon,xanburzum

 

assim que termina vo posta o codigo fonte ai para galera blza.

Compartilhar este post


Link para o post
Compartilhar em outros sites

posta no laboratório de script...

Compartilhar este post


Link para o post
Compartilhar em outros sites

posta no laboratório de script...

posto sim mais ta rolando um erro aki

 

quando deixo os campos preco,precoate,ano,anoate vazio da erro ou virse versa...

 

acho que terei que colocar uns if e elseif sera que isso resolve???

Compartilhar este post


Link para o post
Compartilhar em outros sites

qual erro gerado, numero e linha ???

Compartilhar este post


Link para o post
Compartilhar em outros sites

no caso é na minha sql

 

erro

 

Tipo de erro:

Microsoft OLE DB Provider for ODBC Drivers (0x80040E14)

[Microsoft][Driver ODBC para Microsoft Access] Erro de sintaxe (operador faltando) na expressão de consulta 'id_marca =61 and ano between and and preco between and and modelo like'%Gol%''.

/site/combox/carros/bcarros.asp, line 16

Compartilhar este post


Link para o post
Compartilhar em outros sites

da um response.write na sua instrucao SQL

 

response.write SQL
response.End()

para ver o que esta sendo passado.

e Verifique a ortografia pode ter um nome de coluna invalido ou nao foi encontrada. .

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.