Jump to content


Photo

Problema Script Busca


  • Faça o login para participar
1 reply to this topic

#1 dartvader

dartvader

    Novato no fórum

  • Usuários
  • 6 posts
  • Sexo:Não informado

Posted 28/02/2005, 12:19

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
%>

#2 Agente Linhares

Agente Linhares

    fuis...abraços!

  • Ex-Admins
  • 3138 posts
  • Sexo:Não informado
  • Localidade:Biritiba Mirim-SP

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:
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)!




1 user(s) are reading this topic

0 membro(s), 1 visitante(s) e 0 membros anônimo(s)

IPB Skin By Virteq