DannyND 1 Denunciar post Postado Março 13, 2014 Fala galera. Alguém tem ideia de como fazer uma busca tipo a do submarino/netshoes?Onde o que é selecionado fica em um pequeno quadro, com possibilidade de limpar e/ou selecionar outras opções de uma mesma categoria? Compartilhar este post Link para o post Compartilhar em outros sites
Lucas Guima 164 Denunciar post Postado Março 13, 2014 Tá tudo na URL, passados por $_GET. Compartilhar este post Link para o post Compartilhar em outros sites
DannyND 1 Denunciar post Postado Março 13, 2014 Tá tudo na URL, passados por $_GET. Certo, mas e para armazenar como faço? Coloco em um array? E depois para colocar tudo isso na query da pesquisa? Compartilhar este post Link para o post Compartilhar em outros sites
Lucas Guima 164 Denunciar post Postado Março 13, 2014 Já trabalhou com $_GET? Ele é um array. Já fez uma query dinâmica? Basta utilizar os valores da URL. Compartilhar este post Link para o post Compartilhar em outros sites
DannyND 1 Denunciar post Postado Março 13, 2014 Sim, mas não enviando várias variáveis para o mesmo GET, tipo " categoria=123|432|546 " Compartilhar este post Link para o post Compartilhar em outros sites
Lucas Guima 164 Denunciar post Postado Março 13, 2014 Você não precisa fazer idêntico, faça como você sabe. Compartilhar este post Link para o post Compartilhar em outros sites
DannyND 1 Denunciar post Postado Março 13, 2014 Você não precisa fazer idêntico, faça como você sabe. Esse é o problema rsrss..eu só seu fazer passando uma variável por parâmetro rsrs exemplo: busca.php?chp=samsung&cd_subgrupo=4213 exemplo de como preciso: busca.php?chp=samsung&cd_subgrupo=4213|4567|12334&cd_cor=vermelha|preta|cinza Compartilhar este post Link para o post Compartilhar em outros sites
Lucas Guima 164 Denunciar post Postado Março 13, 2014 Aí é só tratar, nesse caso você pode utilizar explode() para separar os valores em um array. Compartilhar este post Link para o post Compartilhar em outros sites
DannyND 1 Denunciar post Postado Março 13, 2014 Aí é só tratar, nesse caso você pode utilizar explode() para separar os valores em um array. Você não entendeu rsrsrs Eu só consigo enviar uma variavel pelo link .. não consigo mandar uma, guardar e depois mandar outra rsrs.. como faço isso? tá osso Compartilhar este post Link para o post Compartilhar em outros sites
Lucas Guima 164 Denunciar post Postado Março 13, 2014 Os valores sempre estarão na URL, basta você resgatar, concatenar uma nova variável e redirecionar o usuário. Compartilhar este post Link para o post Compartilhar em outros sites
DannyND 1 Denunciar post Postado Março 13, 2014 Fiz um programinha teste. <?php include "sistema/funcoes/conexao.php"; include "sistema/funcoes/funcoes.php"; ?> <div id="geral"> <div class="coluna_1"> <!--FILTOS--> <span class="titulo_menu">Filtros</span> <ul id="menu_int"> <li>Sub-Grupos <? #retorna subgrupos conecta(); $querys = "SELECT p.cd_produto,p.cd_subgrupo FROM ti_produtos as p,ti_subgrupos as s where p.id_status='A' and p.venda_proibida='N' and p.cd_grupo!='0' and p.cd_subgrupo=s.cd_subgrupo and p.nm_produto like '%samsung%' group by p.cd_subgrupo"; $chamadas = mysql_query($querys); ?> <form> <ul class="filto"> <? while($subgrupos = mysql_fetch_array($chamadas)): $qtdests = est_subgrupo($subgrupos[cd_subgrupo]); ?> <li> <a href="teste_busca.php?chp=<?=$chp?>&subgrupo[]=<?=$subgrupos[cd_subgrupo]?>"> <IMG SRC="images/check_filtro.png" BORDER="0" ALT=""> <span><?=ds_subgrupo($subgrupos[cd_subgrupo])?> (<?=$qtdests?>)</span></a> </li> <?endwhile;?> </ul> </form> </li> </ul> <ul id="menu_int"> <li>Especificações <? #retorna especificações $queryes = "SELECT p.cd_itprod,p.cd_grupo,p.ds_espec FROM ti_produtos as p,ti_grupos as es where p.id_status='A' and p.venda_proibida='N' and p.cd_grupo!='0' and p.cd_grupo=es.cd_grupo and p.nm_produto like '%samsung%' group by p.cd_grupo"; $chamadaes = mysql_query($queryes); ?> <ul class="filto"> <? while($especifica = mysql_fetch_array($chamadaes)): $qtdestes = est_especifica($especifica[cd_grupo]); $ds_espec = $especifica['ds_espec']; ?> <li> <a href="teste_busca.php?chp=<?=$chp?>&subgrupo[]=<?=$categorias?>&especifica[]=<?=$especifica[cd_grupo]?>"> <IMG SRC="images/check_filtro.png" BORDER="0" ALT=""> <span><?=$ds_espec?> (<?=$qtdestes?>)</span></a> </li> <?endwhile;?> </ul> </li> </ul> </div> </div> Dessa forma só consigo enviar uma variável por vez.. me dá uma luz por favor ;~ Compartilhar este post Link para o post Compartilhar em outros sites
Lucas Guima 164 Denunciar post Postado Março 13, 2014 Você vai ter que tornar o SQL e a URL dinâmicos, adicionando apenas os campos que existirem, logo você tem que verificar a existência de cada um. Compartilhar este post Link para o post Compartilhar em outros sites
chamuska 5 Denunciar post Postado Março 13, 2014 Fazer envio dos dados e atualização dos campos por ajax não seria uma boa ?!Dai não precisa atualizar tela e os dados não ficam visíveis na URL. Compartilhar este post Link para o post Compartilhar em outros sites
DannyND 1 Denunciar post Postado Março 13, 2014 Fazer envio dos dados e atualização dos campos por ajax não seria uma boa ?! Dai não precisa atualizar tela e os dados não ficam visíveis na URL. Boa também, mas não sei mexer com ajax.. estou entrando agora a trabalhar com front-end. Compartilhar este post Link para o post Compartilhar em outros sites
Lucas Guima 164 Denunciar post Postado Março 13, 2014 [...] e os dados não ficam visíveis na URL. Dessa maneira a busca deixa de ser rastreável, você não consegue mandar o link para alguém poder ver o mesmo conteúdo sem ter que preencher toda a busca novamente. Compartilhar este post Link para o post Compartilhar em outros sites
DannyND 1 Denunciar post Postado Março 13, 2014 Não tem problema aparecer na URL e nem dar refresh na tela, contanto que o usuário possa selecionar mais de uma opção em cada categoria. Acho que consegui galera.. daqui a pouco respondo o post novamente =D Consegui concatenar as requisições, mas agora tenho que encaixar o explode dentro da query de pesquisa: subgrupo: 4374|4213|4212 Array ( [0] => 4374 [1] => 4213 [2] => 4212 ) SELECT p.cd_itprod,p.vl_venda,p.cd_linha,p.cd_familia,p.cd_grupo,p.cd_subgrupo,p.cd_fabr,p.voltagem,p.cd_cor FROM ti_produtos as p, ti_linhas as l where p.id_status='A' and p.venda_proibida='N' and p.cd_grupo!='0' and (p.nm_produto like '%samsung%' or p.cd_produto like '%samsung%' or p.cd_itprod like '%samsung%') and p.cd_subgrupo='4374|4213|4212' and p.cd_linha=l.cd_linha group by p.cd_linha ORDER BY (CASE WHEN p.nr_estoque > 0 THEN 1 ELSE 0 END) DESC, p.nr_estoque DESC Como faço para quebrar o array: Mudar and p.cd_subgrupo='4374|4213|4212' Para and ( p.cd_subgrupo='4374' or p. cd_subgrupo='4213' or p.cd_subgrupo='4212' ) Compartilhar este post Link para o post Compartilhar em outros sites
Lucas Guima 164 Denunciar post Postado Março 14, 2014 Use o .explode() e monte a query de acordo com os valores que existirem. Compartilhar este post Link para o post Compartilhar em outros sites
DannyND 1 Denunciar post Postado Março 14, 2014 Usar o explode() para separar tá certo.. de boa.. o problema é justamente montar a query, pois os valores do array tem que estar dentro de um "or", ex: $query = "select * from ti_produtos where id_status='A' and (cd_subgrupo=1234 or cd_subgrupo=4321) "; Compartilhar este post Link para o post Compartilhar em outros sites
Fernando C 128 Denunciar post Postado Março 14, 2014 não sei se entedi bem.. mas em vez dos "or" vc pode usar IN; usando seu último ex: "select * from ti_produtos where id_status='A' and cd_subgrupo in(1234,4321) "; Compartilhar este post Link para o post Compartilhar em outros sites
DannyND 1 Denunciar post Postado Março 14, 2014 não sei se entedi bem.. mas em vez dos "or" vc pode usar IN; usando seu último ex: "select * from ti_produtos where id_status='A' and cd_subgrupo in(1234,4321) "; Isso mesmo, eu já estava testando com o in rs.. valeu Isso mesmo, eu já estava testando com o in rs.. valeu Bom galera.. acho que está resolvido o> ..valeu pela ajuda de todos. Compartilhar este post Link para o post Compartilhar em outros sites