tounoosso 0 Denunciar post Postado Agosto 21, 2013 Estou com um problema pessoal, eu sempre acompanho o forum mesmo sem ser cadastrado e ja consegui resolver meus problemas com a ajuda indireta do pessoal aqui em cada topico, o problema é que não consegui encontrar nada que me ajude nesse problema... vamos à ele. Estou fazendo um site de exibição dos produtos de uma loja de calçados, é como se fosse um catálogo virtual, só exibição. Daí quando o cliente vai em calçados, aparece todos os produtos que a loja possuí e nisso eu criei um menuzinho para filtrar (calçados femininos, calçados masculinos, calçados infantis) e eu quero que quando clique em cada um dos menus, ele filtre e mostre só o que ta cadastrado nessa categoria. Alguem poderia me ajudar? <div id="wrapper"> <div id="calcados"> <h2>Portifólio</h2> <span class="links"><strong><a href="<?php echo $urlbase_config;?>">Home</a></strong> >>Calçados</span> <ul> <li><a href="#">Todos</a></li> <li><a href="#">Calçados Femininos</a></li> <li><a href="#">Calçados Masculinos</a></li> <li><a href="#">Calçados Infantis</a></li> </ul> <?php $sql_works = mysql_query("SELECT * FROM calcados") or die(mysql_error()); while($res = mysql_fetch_array($sql_works)){ $thumb = $res['thumb']; $titulo = $res['titulo']; $tituloSlug = $res['tituloSlug']; $catSlug = $res['catSlug']; ?> <div class="calcados-img"><a href="<?php echo $urlbase_config;?>/<?php echo $catSlug;?>/<?php echo $tituloSlug;?>"><img src="<?php echo $urlbase_config;?>/js/timthumb.php?src=<?php echo $urlbase_config;?>/uploads/<?php echo $thumb;?>&h=250&w=200&zc=1" alt="<?php echo $titulo;?>" title="<?php echo $titulo;?>" /></a></div> <?php } ?> </div><!--calcados--> </div><!--wrapper--> Alguem poderia me ajudar com esse filtro? Não achei nada parecido aqui no forum antes de criar o topico Compartilhar este post Link para o post Compartilhar em outros sites
angelorubin 142 Denunciar post Postado Agosto 21, 2013 Bom dia, Você pode fazer o seguinte, ao clicar em uma opção do menu pegue o valor via $_GET (por exemplo) e com um switch verifique qual a opção escolhida, depois faça a sua busca normalmente no banco com a claúsula WHERE igual a opção vinda do menu e exiba conforme sua necessidade. Isso poderia ser feito via ajax (modo xiita) ou com ajax jQuery também. Espero que ajude. Compartilhar este post Link para o post Compartilhar em outros sites
tounoosso 0 Denunciar post Postado Agosto 21, 2013 Mas teria que ser feito necessariamente em ajax / ajax jquery?? É que ainda estou começando a aprender tudo o que tem que ser feito e esse é o primeiro site que estou desenvolvendo, então ainda tenho certas dúvidas que para muitos são básicas mas para mim, ainda são meio complicadas. Compartilhar este post Link para o post Compartilhar em outros sites
Evandro Oliveira 331 Denunciar post Postado Agosto 21, 2013 manda a modelagem do DB pra entender o que dá pra fazer com o que você já tem. Compartilhar este post Link para o post Compartilhar em outros sites
tounoosso 0 Denunciar post Postado Agosto 21, 2013 Vou postar a estrutura do DB da tabela que eu quero filtrar os dados, até porque é a única por enquanto, que está trazendo os dados dinâmicamente, o resto ainda vou passar para o banco de dados Fiz esses 3 cadastros só para conseguir fazer o filtro, onde os campos "slugs" são para o SEO da página. Então se eu clicasse no menu "Calçados Infantis" seria mostrado só o terceiro resultado... "Calçados Femininos" só o primeiro e assim por diante, conforme for cadastrando mais categorias. Compartilhar este post Link para o post Compartilhar em outros sites
Evandro Oliveira 331 Denunciar post Postado Agosto 21, 2013 Uma notícia boa e uma ruim. A boa: dá pra fazer A ruim: você vai ter bastante trabalho. Se eu tivesse 8 horas para cortar uma árvore, gastaria seis afiando meu machado Estude! http://pt.wikipedia.org/wiki/Normalização_de_dados Você precisará criar uma tabela tags e outra tabela tags-calcado para fazer o relacionamento entre um item e suas categorias. Compartilhar este post Link para o post Compartilhar em outros sites
tounoosso 0 Denunciar post Postado Agosto 21, 2013 Entendi... Jeito vai ser dar uma pesquisada pra conseguir fazer isso. Mas não daria para fazer só com um select e where? Algo mais simples.. Compartilhar este post Link para o post Compartilhar em outros sites
elmano.neto 9 Denunciar post Postado Agosto 21, 2013 Se vc estivesse usando MVC, ficaria bem mais fácil. Organize melhor seu código para facilitar seu trabalho, você esta misturando consultas com a visualização de resultados. Compartilhar este post Link para o post Compartilhar em outros sites
Evandro Oliveira 331 Denunciar post Postado Agosto 21, 2013 Entendi... Jeito vai ser dar uma pesquisada pra conseguir fazer isso. Mas não daria para fazer só com um select e where? Algo mais simples.. Até um certo nível de simplicidade, daria sim. http://technet.microsoft.com/pt-br/library/ms179859.aspx select * from calcados where tags like '%Feminino%' and tags like '%Calcados%' Compartilhar este post Link para o post Compartilhar em outros sites
tounoosso 0 Denunciar post Postado Agosto 22, 2013 Poderia dar mais alguma ajuda amigo? Ainda fico meio perdido para criar um código... como por exemplo, o que eu colocaria no link? Compartilhar este post Link para o post Compartilhar em outros sites
Evandro Oliveira 331 Denunciar post Postado Agosto 22, 2013 Ué, no link você coloca o que você (ou o cliente) quiser... Tendi essa pergunta não. Compartilhar este post Link para o post Compartilhar em outros sites
tounoosso 0 Denunciar post Postado Agosto 22, 2013 Tipo tenho a página calcados.php... o que iria no href do menuzinho sabe... tipo <a href="calcados.php?filtro=feminino">Femininos</a> Seria algo assim? E no sql eu fiz assim, mas não sei se esta certo... <?php select * from calcados where tags like '%Feminino%' and tags like '%Calcados%' or like '%Masculino% and tags or like '%Infantil%' and tags ?> Compartilhar este post Link para o post Compartilhar em outros sites
Evandro Oliveira 331 Denunciar post Postado Agosto 22, 2013 Tipo tenho a página calcados.php... o que iria no href do menuzinho sabe... tipo <a href="calcados.php?filtro=feminino">Femininos</a> Seria algo assim? Sim, seria. Aí você teria que montar a consulta assim: if (isset($_REQUEST['filtro'])) { $sql = "select * from calcados where tags like '%{$_REQUEST['filtro']}%'"; } E no sql eu fiz assim, mas não sei se esta certo... <?php select * from calcados where tags like 'þminino%' and tags like 'Êlcados%' or like '%Masculino% and tags or like '%Infantil%' and tags ?> Tá bastante errado. Primeiro que vai dar uns errinhos inesperados por você tentar concatenar texto sem o ponto. Tudo culpa de ter esquecido as aspas. A consulta também tá meio erradinha, mas enfim. Tenta adaptar com o que você já conseguiu e me traga um parecer diferente do último ;) Aí continuamos a caminhada. Compartilhar este post Link para o post Compartilhar em outros sites
tounoosso 0 Denunciar post Postado Agosto 23, 2013 Sim, seria. Aí você teria que montar a consulta assim: if (isset($_REQUEST['filtro'])) { $sql = "select * from calcados where tags like '%{$_REQUEST['filtro']}%'"; } Tá bastante errado. Primeiro que vai dar uns errinhos inesperados por você tentar concatenar texto sem o ponto. Tudo culpa de ter esquecido as aspas. A consulta também tá meio erradinha, mas enfim. Tenta adaptar com o que você já conseguiu e me traga um parecer diferente do último ;) Aí continuamos a caminhada. Entnedi... Então pelo menos no href eu acertei o que seria kk .. e na sql o problema era mesmo uma aspas, que coisa. Provavelmente ainda está errado ja que ainda não consegui resultado =/ <?php $filtro = "$_GET[filtro]"; $sql_filtro = ("SELECT * FROM calcados WHERE categoria LIKE '%feminino%'"); if (isset($_REQUEST['$filtro'])) { $sql = "select * from calcados where categoria like '%{$_REQUEST['$filtro']}%'"; } ?> <ul> <li><a href="<?php echo $urlbase_config;?>/calcados">Todos</a></li> <li><a href="<?php echo $urlbase_config;?>/calcados?filtro=feminino">Calçados Femininos</a></li> <li><a href="<?php echo $urlbase_config;?>/calcados?filtro=masculino">Calçados Masculinos</a></li> </ul> Quero tentar fazer para encontrar só uma categoria primeiro, assim fica mais facil pra mim fazer a outra categoria sozinho sabendo o que tem que ser feito e tals... Não seria caso de usar um while? mesmo eu achando que não, não custa perguntar hehe Compartilhar este post Link para o post Compartilhar em outros sites
Evandro Oliveira 331 Denunciar post Postado Agosto 23, 2013 Tá faltando um cursinho básico de lógica e outro de sintaxe, né não??? isso [inline]$filtro = "$_GET[filtro]";[/inline] é diferente disso [inline]$filtro = $_GET["filtro"];[/inline] Você precisa de aspas quando for escrever um texto. Não precisa delas para variáveis Do jeito que você tentou, o todos nunca vai funcionar, porque você força o uso de feminino na segunda linha (que dispensa o uso de parênteses). Compartilhar este post Link para o post Compartilhar em outros sites
meleca123 0 Denunciar post Postado Agosto 24, 2013 serial legal uma forma carregando os dados sem ter que dar refresh talvez ajax Compartilhar este post Link para o post Compartilhar em outros sites
tounoosso 0 Denunciar post Postado Agosto 26, 2013 Tá faltando um cursinho básico de lógica e outro de sintaxe, né não??? isso [inline]$filtro = "$_GET[filtro]";[/inline] é diferente disso [inline]$filtro = $_GET["filtro"];[/inline] Você precisa de aspas quando for escrever um texto. Não precisa delas para variáveis Do jeito que você tentou, o todos nunca vai funcionar, porque você força o uso de feminino na segunda linha (que dispensa o uso de parênteses). Sim, ainda falta muita coisa para aprender. Comecei a ver php agora e peguei esse site de um colega meu para fazer, daí dei uma parada no que eu tava lendo para fazer o site e ir tirando as duvidas aos poucos, mas ja vou voltar a dar uma estudada em relação ao php e todo o resto. Compartilhar este post Link para o post Compartilhar em outros sites