Ola amigos estou fazendo um script busca para meu site de classificados de automoveis.So que estou encontrando um problema .Nesta busca tera categorias(carro,motos,caminhao) e subcategoria(fiat,honda....) so que quando aperto o botao "procurar" ele me mostra todos os automoveis inseridos no site.Quero que ele me mostre somente o especificado na busca e nao todos como ele esta fazendo.Qual seria o problema? Peço a ajuda a alguem.
Segue embaixo codigo fonte para analise.
Abraços e obrigado
<%
Set categorias = abredb.Execute("SELECT * FROM categorias ORDER BY cod_categoria ASC")
%>
<SELECT class=formu style="WIDTH: 120px" size="1" onchange=java script:CarregaMarca(this.value); name=tipo>
<OPTION value="" selected>::: Categoria</OPTION>
<%
contaCATEGORIAS = 0
Do While not categorias.eof
%>
<OPTION value="<%=categorias.Fields("cod_categoria")%>"><%=TRIM(enDeCrypt(categorias.Fields("categoria"), pEncriptaChave))%></OPTION>
<%
contaCATEGORIAS = contaCATEGORIAS + 1
categorias.MoveNext
Loop %>
</SELECT>
<%
categorias.Close
Set categorias = Nothing
%> <br>
<SELECT class=formu style="WIDTH: 120px" size="1" onchange=java script:CarregaModelo(this.value); name=marca>
<OPTION value="0" selected>::: Marca</OPTION>
</SELECT>
<br>
<SELECT class=formu size="1" style="WIDTH: 120px" name=modelo>
<OPTION value=0 selected>::: Modelo</OPTION>
</SELECT>
<%
response.write "<script language=JavaScript>" & vbNewLine
response.write "<!-- //" & vbNewLine
response.write "var form = document.n_veiculo;" & vbNewLine
response.write "var tipolen = form.tipo.length;" & vbNewLine
response.write "var arrmarcas = new Array(tipolen);" & vbNewLine
response.write "for (i = 0; i <="& contaCATEGORIAS &"; i++) arrmarcas[i] = new Array();" & vbNewLine
response.write "arrmarcas[0][0] = new Option(':: Todas as marcas','0');" & vbNewLine
for jM = 1 to contaCATEGORIAS Step 1
response.write "arrmarcas["& jM &"][0] = new Option(':: Todas as marcas','0');" & vbNewLine
Next
Set rsMARCAS = abredb.Execute("SELECT * FROM marcas ORDER BY cod_categoria ASC")
minha_categoria = rsMARCAS.Fields("cod_categoria")
count = 0
Do While not rsMARCAS.eof
if rsMARCAS.Fields("cod_categoria") <> minha_categoria Then
minha_categoria = rsMARCAS.Fields("cod_categoria")
count = 0
end if
contador = contador + 1
response.write "arrmarcas["& rsMARCAS.Fields("cod_categoria") &"]["& count &"] = new Option('"& enDeCrypt(rsMARCAS.Fields("marca"), pEncriptaChave) &"','"& rsMARCAS.Fields("cod_marca") &"');" & vbNewLine
count = count + 1
rsMARCAS.MoveNext
Loop
response.write vbNewLine & "function CarregaMarca(index) {" & vbNewLine
response.write "var marca = form.marca;" & vbNewLine
response.write "for (m = marca.options.length; m > 0; m--) marca.options[m] = null;" & vbNewLine
response.write "if (index > 0) {" & vbNewLine
response.write "for (i = 0; i < arrmarcas[index].length; i++) {" & vbNewLine
response.write "marca.options[i+1] = new Option(arrmarcas[index][i].text, arrmarcas[index][i].value);" & vbNewLine
response.write "}" & vbNewLine
response.write "}" & vbNewLine
response.write "marca.options[0].selected = true;" & vbNewLine
response.write "}" & vbNewLine
response.write "CarregaMarca(form.tipo.value);" & vbNewLine
response.write vbNewLine & "function CarregaModelo(index) {" & vbNewLine
response.write "var modelo = form.modelo;" & vbNewLine
response.write "var marcalen = form.marca.length;" & vbNewLine
response.write "var arrmodelos = new Array(marcalen);" & vbNewLine
response.write "if (index > 0) {" & vbNewLine
response.write "for (i = 0; i <= "& contador &"; i++) arrmodelos[i] = new Array();" & vbNewLine
response.write "arrmodelos[0][0] = new Option(':: Todos os modelos','0');" & vbNewLine & vbNewLine
for j = 0 to contador Step 1
response.write "arrmodelos["& j &"][0] = new Option(':: Todos os modelos','0');" & vbNewLine
Next
Set rsMODELOS = abredb.Execute("SELECT * FROM modelos ORDER BY cod_marca ASC")
minha_marca = rsMODELOS.Fields("cod_marca")
countM = 0
Do While not rsMODELOS.eof
if rsMODELOS.Fields("cod_marca") <> minha_marca Then
minha_marca = rsMODELOS.Fields("cod_marca")
countM = 0
end if
response.write "arrmodelos["& rsMODELOS.Fields("cod_marca") &"]["& countM &"] = new Option('"& enDeCrypt(rsMODELOS.Fields("modelo"), pEncriptaChave) &"','"& rsMODELOS.Fields("cod_modelo") &"');" & vbNewLine
countM = countM + 1
rsMODELOS.MoveNext
Loop
response.write vbNewLine & "for (m = modelo.options.length; m > 0; m--) modelo.options[m] = null;" & vbNewLine
response.write "for (i = 0; i < arrmodelos[index].length; i++) {" & vbNewLine
response.write "modelo.options[i+1] = new Option(arrmodelos[index][i].text, arrmodelos[index][i].value);" & vbNewLine
response.write "}" & vbNewLine
response.write "}" & vbNewLine
response.write "modelo.options[0].selected = true;" & vbNewLine
response.write "}" & vbNewLine
response.write "CarregaModelo(form.marca.value);" & vbNewLine & vbNewLine
response.write vbNewLine & "function ValidaPesquisaRapida(formpesquisa) {" & vbNewLine
response.write "tipcodIx = form.tipo.selectedIndex;" & vbNewLine
response.write "marcodIx = form.marca.selectedIndex;" & vbNewLine
response.write "if (tipcodIx == 0) { alert('Selecione um tipo de automóvel.'); form.tipo.focus(); return false; } if (marcodIx == 0) { alert('Selecione uma marca para realizar a pesquisa.'); form.marca.focus(); return false; } }" & vbNewLine
response.write vbNewLine & "// -->" & vbNewLine & vbNewLine
response.write "</SCRIPT>" & vbNewLine
%>

Problema Script Busca
Started By dartvader, 28/02/2005, 12:19
1 reply to this topic
#1
Posted 28/02/2005, 12:19
#2
Posted 28/02/2005, 22:29
cara, esse code ta bem imenso e confuso pr achar o erro, mas a logica de uma busca por categorias, depende muito tb d coo ta esruturado seu banco de dados..
ex.:
se seu bd tem os cmapos assim ou na msma logica:
aí seu code seria assim:
aí pra vc realizar uma busca assim por ex, vc poderia fazer algo assim:
a logica e sintaxe seria algo assim, agora é so vc ir arruamndo esta logica em seu code.
qualuer coisa, faz uma busca pelo forum q tem conteudo sobre isto.
ex.:
se seu bd tem os cmapos assim ou na msma logica:
id - tipo autonum carro - tipo texto marca - tipo texto
aí seu code seria assim:
var_carro = requet("carro") var_marca = request.("marca") select * from nome_tabela where like "%"&var_carro&"%" carro And marca = "&var_marca&"
aí pra vc realizar uma busca assim por ex, vc poderia fazer algo assim:
pg.asp?carro=opala&marca=chevrolet
a logica e sintaxe seria algo assim, agora é so vc ir arruamndo esta logica em seu code.
qualuer coisa, faz uma busca pelo forum q tem conteudo sobre isto.
> Busca On-line - A Busca que faltava na Internet! - Cadastre-se!
---------------------------------------------------------------------------
> BRdesign.NET - Soluções em Websites e Sistemas E-Commerce.
---------------------------------------------------------------------------
> BR-ecommerce - Sua loja virtual na internet! - Apenas R$99,90 mensais (hospedagem inclusa)!
---------------------------------------------------------------------------
> BRdesign.NET - Soluções em Websites e Sistemas E-Commerce.
---------------------------------------------------------------------------
> BR-ecommerce - Sua loja virtual na internet! - Apenas R$99,90 mensais (hospedagem inclusa)!
1 user(s) are reading this topic
0 membro(s), 1 visitante(s) e 0 membros anônimo(s)