Sistema de Busca Erro
Bom, o sistema funciona se eu joga 1 palavra, se eu colocar roupa masculina no caso, ele não acha nada =/
Busca.asp
<%busca = replace(replace(replace(replace(frmbusca,"+"," "),chr(39),"'"),chr(34),""),"Qual produto deseja comprar?...","")%>
<%catego = replace(replace(replace(replace(request("categoria"),"-"," "),chr(39),"'"),chr(34),""),"Qual produto deseja comprar?...","")%>
<script type="text/javascript">
//alert('<%=frmbusca%>');
//alert('<%=catego%>');
</script>
<%
'*** Inserçao de palavra buscada no bd +++
buscapalavra= request("frmbusca")
if buscapalavra <> "" then
buscapalavra = replace(buscapalavra, "+", " ")
a = split(buscapalavra,"/")
buscapalavra = a(0)
if uBound(a) > 0 then
categoria = a(1)
else
categoria = ""
end if
categoria = replace(categoria, "+", " ")
frmbusca = buscapalavra
busca = a(0)
'*** Verifica se a palavra já está cadastrada. +++
set verbuscars = objconexao.execute("select pes_palavra from tab_busca_pesquisadas where pes_palavra = '"&buscapalavra&"'")
if not verbuscars.eof then
'*** Encontra o código da palavra já existente
set pencontradars = objconexao.execute("select pes_codigo, pes_quantidade from tab_busca_pesquisadas where pes_palavra like '%"& buscapalavra &"%'")
pencontrada=pencontradars("pes_codigo")
qtdatual=pencontradars("pes_quantidade")
qtdsomada=qtdatual+1
'*** Soma + 1 no banco no item pes_quantidade dessa palavra
set somamaisrs = objconexao.execute("update tab_busca_pesquisadas set pes_quantidade='" & qtdsomada &"' where pes_codigo="&pencontrada)
pencontradars.close
set pencontradars=nothing
else
primeira=1
'*** Faz inclusão da palavra
set maisrs = objconexao.execute("insert into tab_busca_pesquisadas(pes_palavra, pes_quantidade) values ('"&buscapalavra&"', '"&primeira&"')")
end if
verbuscars.close
set verbuscars=nothing
end if
'*** Inserçao de palavra buscada no bd +++
%>
<div class="container center" style="max-width: 1173px;">
<div class="row row-eq-height">
<div class="col-md-3">
<div class="lateral box-shadow">
<!-- TITULO -->
<%if busca <> "" and catego <> "" then%>
<h1 class="titulo" style="margin-bottom: 0px;">Busca por "<%=busca%>"</h1>
<h1 class="titulo cat" style="margin-top: 0px;">Na categoria "<%=catego%>"</h1>
<%elseif catego <> "" and busca = "" then%>
<h1 class="titulo">Na categoria "<%=catego%>"</h1>
<%elseif busca <> "" and catego = "" then%>
<h1 class="titulo">Busca por "<%=busca%>"</h1>
<%end if %>
<!-- CATEGORIAS -->
<div class="categorias">
<div class="stressed">Categorias</div>
<ul>
<%
cat_tag = request("categoria")
palavra_pesquisa = busca
if busca = "" and cat_tag <> "" then
palavra_pesquisa = cat_tag
end if
tabelaBusca = left(trim(replace(replace(replace(replace(replace(replace(replace(replace(replace(replace(replace(replace(replace(replace(replace(replace(replace(replace(replace(replace(replace(replace(replace(replace(replace(replace(replace(replace(replace(replace(palavra_pesquisa," ","")," ",""),Chr(33),""),Chr(34),""),Chr(35),""),Chr(36),""),Chr(37),""),Chr(38),""),Chr(39),""),Chr(40),""),Chr(41),""),Chr(42),""),Chr(43),""),Chr(44),""),Chr(45),""),Chr(46),""),Chr(47),""),Chr(58),""),Chr(59),""),Chr(60),""),Chr(61),""),Chr(62),""),Chr(63),""),Chr(64),""),Chr(92),""),Chr(96),""),Chr(145),""),Chr(146),""),Chr(147),""),Chr(148),"")),12)
objconexao.execute("DROP TABLE IF EXISTS busca_" & tabelaBusca)
if busca <> "" then
query = "CREATE TEMPORARY TABLE busca_" & tabelaBusca & " SELECT pro_nome, pro_preco, pro_imagem, pro_link, pro_loja, pro_prioridade, cat_codigo FROM ( SELECT pro_codigo, pro_nome, pro_preco, pro_imagem, pro_link, pro_loja, cat_codigo, 1 As pro_prioridade FROM tab_produtos_xml WHERE pro_tags LIKE '%" & busca & ",%' UNION SELECT pro_codigo, pro_nome, pro_preco, pro_imagem, pro_link, pro_loja, cat_codigo, 2 As pro_prioridade FROM tab_produtos_xml WHERE cat_codigo IN ( SELECT N1.cat_codigo FROM tab_categorias_xml AS N1 WHERE N1.cat_tag LIKE '" & busca & "' OR N1.cat_codigo IN (SELECT N2.cat_codigo FROM tab_categorias_xml AS N2 WHERE N2.cat_tag LIKE '" & busca & "') OR N1.cat_codigo IN (SELECT N3.cat_codigo FROM tab_categorias_xml AS N3 WHERE N3.cat_pai IN (SELECT N22.cat_codigo FROM tab_categorias_xml AS N22 WHERE N22.cat_tag LIKE '" & busca & "'))) UNION SELECT pro_codigo, pro_nome, pro_preco, pro_imagem, pro_link, pro_loja, cat_codigo, 3 As pro_prioridade FROM tab_produtos_xml WHERE pro_nome LIKE '%" & busca & "%' ) AS BUSCA GROUP BY pro_codigo ORDER BY pro_prioridade, cat_codigo, pro_nome"
else
query = "CREATE TEMPORARY TABLE busca_" & tabelaBusca & " SELECT pro_codigo, pro_nome, pro_preco, pro_imagem, pro_link, pro_loja, 1 As pro_prioridade, cat_codigo FROM tab_produtos_xml WHERE cat_codigo IN ( SELECT N1.cat_codigo FROM tab_categorias_xml AS N1 WHERE N1.cat_tag LIKE '" & cat_tag & "' OR N1.cat_codigo IN (SELECT N2.cat_codigo FROM tab_categorias_xml AS N2 WHERE N2.cat_tag LIKE '" & cat_tag & "') OR N1.cat_codigo IN (SELECT N3.cat_codigo FROM tab_categorias_xml AS N3 WHERE N3.cat_pai IN (SELECT N22.cat_codigo FROM tab_categorias_xml AS N22 WHERE N22.cat_tag LIKE '" & cat_tag & "')) ) OR pro_nome LIKE (SELECT CONCAT('%', cat_nome, '%') FROM tab_categorias_xml WHERE cat_tag LIKE '" & cat_tag & "') ORDER BY cat_codigo, pro_nome"
end if
objconexao.execute(query)
set cntProdutos = objconexao.execute("SELECT COUNT(pro_nome), MIN(pro_preco), MAX(pro_preco) FROM busca_" & tabelaBusca)
allCategories = CInt(cntProdutos(0))
minPrice = cntProdutos(1)
maxPrice = cntProdutos(2)
if allCategories = 0 then
allCategories = 0
minPrice = 0
maxPrice = 0
end if
preco_minimo = Replace(Round(minPrice,0), ",", ".")
preco_maximo = Replace(Round(maxPrice, 0)+1, ",", ".")
labelMinimo = preco_minimo
labelMaximo = preco_maximo
If request("pmin") <> "" then
labelMinimo =request("pmin")
labelMinimo = Replace(Round(labelMinimo, 0), ",", ".")
end if
If request("pmax") <> "" then
labelMaximo =request("pmax")
labelMaximo = Replace(Round(labelMaximo, 0) + 1, ",", ".")
end if
cntProdutos.close()
set cntProdutos = Nothing
all_url = Request.ServerVariables("PATH_INFO") & "?pi=busca"
If request("frmbusca") <> "" then
all_url = all_url & "&frmbusca=" & request("frmbusca")
elseif request("categoria") <> "" then
all_url = all_url & "&categoria=" & request("categoria")
end if
%>
<li <%if request("categoria")="" then response.write "class=""active"""%>><a href="<%=all_url%>">Todas as Categorias <span>(<%=allCategories%>)</span></a></li>
<!--<li><a href="#">Celular <span>(10)</span></a></li>
<li><a href="#">Moda Masculina <span>(10)</span></a></li>
<li><a href="#">Moda Feminina <span>(10)</span></a></li>
<li><a href="#">Moda para Bebês <span>(10)</span></a></li>
<li><a href="#">Eletrônicos <span>(10)</span></a></li>
<li><a href="#">Informática <span>(10)</span></a></li>
<li><a href="#">Celular <span>(10)</span></a></li>-->
<%
query = "SELECT CAT.cat_tag, CAT.cat_nome, COUNT(BSC.pro_nome) FROM tab_categorias_xml AS CAT RIGHT JOIN busca_" & tabelaBusca & " AS BSC ON (CAT.cat_codigo=BSC.cat_codigo) GROUP BY CAT.cat_codigo ORDER BY COUNT(BSC.pro_nome) DESC"
set cntProdutos = objconexao.execute(query)
if not cntProdutos.EOF then
do until cntProdutos.EOF
tag = cntProdutos(0)
nome = cntProdutos(1)
quantidade = cntProdutos(2)
url = Request.ServerVariables("PATH_INFO") & "?"
For Each qs In Split(Request.ServerVariables("QUERY_STRING"), "&")
If not Instr(1, qs, "categoria") > 0 then
url = url & qs & "&"
end if
Next
url = Left(url, Len(url) -1 )
url = url & "&categoria=" & tag
%><li <%if request("categoria")=tag and request("categoria")<>"" then response.write "class=""active"""%>><a href="<%=url%>"><%=nome%> <span>(<%=quantidade%>)</span></a></li><%
cntProdutos.moveNext
loop
end if
cntProdutos.close()
set cntProdutos = Nothing
%>
</ul>
</div>
<!-- PALAVRA-CHAVE -->
<div class="palavra-chave">
<div class="stressed">Palavra-Chave</div>
<input type="text" name="filtrobusca" value="<%=busca%>" />
</div>
<!--
For Each i In Request.ServerVariables
response.write "<br />++++++++++++++++++++++++++++"
response.write i
response.write "<br />===="
response.write Request.ServerVariables(i)
response.write "<br />"
Next-->
<!-- FILTROS -->
<div class="precos">
<div class="stressed">Preço</div>
<div style="padding: 0 20px; margin-top: 20px;">
<div id="slider-range"></div>
<div style="height: 70px; margin-top: 10px;">
<div class="counter">
<label for="amount1">Mínimo</label>
<input type="text" id="amount1" />
</div>
<div class="counter">
<label for="amount2">Máximo</label>
<input type="text" id="amount2" />
</div>
</div>
</div>
</div>
<div class="new-divide"></div>
<a href="#" id="filtrar">Filtrar</a>
</div>
</div>
<div class="col-md-9">
<div class="resultados container-fluid">
<!-- NÃO HÁ RESULTADO -->
<%
if not allCategories > 0 then
%>
<div class="col-xs-12">
<div class="error item box-shadow">
Sua pesquisa não retornou resultados :(
</div>
</div>
<!-- HÁ RESULTADO -->
<%
else
if cat_tag = "" then cat_tag = "%"
query = "SELECT BSC.pro_nome, BSC.pro_preco, BSC.pro_imagem, BSC.pro_link, BSC.pro_loja FROM busca_" & tabelaBusca & " AS BSC LEFT JOIN tab_categorias_xml AS CAT ON (BSC.cat_codigo=CAT.cat_codigo) WHERE (BSC.pro_preco BETWEEN " & labelMinimo & " AND " & labelMaximo & ")" '" AND (CAT.cat_tag LIKE '" & cat_tag & "')"
response.write "<script>" & query & "</script>"
set produtos = objconexao.execute(query)
y = -1
if not produtos.EOF then
do until produtos.EOF
nome = produtos(0)
preco = produtos(1)
imagem = produtos(2)
link = produtos(3)
loja = produtos(4)
y = y + 1
if y = 0 then
response.write "<div class='row'>"
end if
%>
<div class="col-md-3">
<a class="item box-shadow" href="<%=link%>" rel="nofollow external" target="_blank">
<div class="imagem block"><img class="img-responsive centered" src="<%=imagem%>"/></div>
<div class="nome block"><div class="centered"><%=ShortenString(nome, 60)%></div></div>
<div class="preco">R$ <%=preco%></div>
<div class="loja"><%=loja%></div>
</a>
</div>
<%
if y = 3 then
response.write "</div>"
y = -1
end if
produtos.moveNext
loop
produtos.close()
set produtos = Nothing
end if
end if
%>
</div>
</div>
</div>
</div>
<script type="text/javascript">
//alert("<%=preco_minimo%>");
//alert("<%=preco_maximo%>");
$(function() {
$( "#slider-range" ).slider({
range: true,
min: <%=preco_minimo%>,
max: <%=preco_maximo%>,
values: [ <%=labelMinimo%>, <%=labelMaximo%> ],
slide: function( event, ui ) {
$( "#amount1" ).val( ui.values[ 0 ] );
$( "#amount2" ).val( ui.values[ 1 ] );
}
});
$( "#amount1" ).val( $( "#slider-range" ).slider( "values", 0 ) );
$( "#amount2" ).val( $( "#slider-range" ).slider( "values", 1 ) );
});
$(document).ready(function(){
$("#filtrar").click(function(){
var final = "";
if ($("input[name=filtrobusca]").val() !=""){
//palavra-chave
value = "&frmbusca=" + $("input[name=filtrobusca]").val();
final += value;
}
//preço mínimo
value = "&pmin=" + $("input[id=amount1]").val();
final += value;
//preço máximo
value = "&pmax=" + $("input[id=amount2]").val();
final += value;
location.href = "capa.asp?pi=busca" + final;
return false;
});
});
</script>
Busca.js
$(document).ready(function(){
$('#busca_produto').click(function(){
$('input[name=frmonde]').val(1);
$('fieldset.onde').css('display','none');
$('#ondeatual').html('lalalala');
return false;
});
//$('#busca_loja').click(function(){
//$('input[name=frmonde]').val(2);
//$('fieldset.onde').css('display','none');
//$('#ondeatual').html('lalala');
//return false;
//});
$('#busca_parceiros').click(function(){
$('input[name=frmonde]').val(3);
$('fieldset.onde').css('display','none');
$('#ondeatual').html('lalala');
return false;
});
$(document.body).click(function(){
if (!($('fieldset.onde')).has(this).length) {
$('fieldset.onde').hide();
}
});
$('form.busca input[type=submit]').click(function() {
if ( $('input[name=frmbusca]').val()=='' || $('input[name=frmbusca]').val()=='lalala?...' ) {
}
else {
alert('GIVE TO ME I WORTH IT');
window.location = '?pi=busca&frmbusca=' + $('input[name=frmbusca]').val() + '&frmonde=' + $('input[name=frmonde]').val();
}
return false;
});
});Discussão (1)
Carregando comentários...