Hewitt 14 Denunciar post Postado Novembro 5, 2015 Tenho o seguinte código: $sql = mysql_query("SELECT * from produtos p, categorias c WHERE c.id_cat = p.id_cat GROUP BY c.id_cat"); while ($ln = mysql_fetch_assoc($sql)){ $id_p = $ln['id_prod']; $valor = $ln['valor']; $nome_prod = $ln['nome_prod']; $id_cat = $ln['id_cat']; $nome_cat = $ln['nome_cat']; echo '<button data-toggle="collapse" data-target="#'.$id_cat.'">'.$nome_cat.'</button><br /> <div id="'.$id_cat.'" class="collapse"><a href="pedido.php?&mesa='.$mesa.'&idp='.$id_p.'&nomep='.$nome_prod.'&v='.$valor.'"> <ul class="list-group"> <li class="list-group-item"><img src="img/lanche.png" />'.$nome_prod.'</li> </ul> </a></div>'; Só aparecem os 3 botões referentes às categorias, mas só aparece 1 produto de cada categoria. Porque? Compartilhar este post Link para o post Compartilhar em outros sites
Maykel-ctba 233 Denunciar post Postado Novembro 5, 2015 Sua consulta diretamente no banco, retorna o que? Compartilhar este post Link para o post Compartilhar em outros sites
Hewitt 14 Denunciar post Postado Novembro 5, 2015 No banco, possuo 7 produtos em 3 categorias diferentes. A consulta exibe os 3 botões das categorias, mas apenas um produto por categoria apenas. Diretamente, ele retorna para mim apenas 3 produtos. =/ Compartilhar este post Link para o post Compartilhar em outros sites
MarcosMTS 1 Denunciar post Postado Novembro 5, 2015 Deve ser por causa do "GROUP BY c.id_cat" tira essa parte e testa! Nessa linha: $id_cat = $ln['id_cat'];" se eu não me engano tem que colocar o assim $id_cat = $ln['p.id_cat']; Compartilhar este post Link para o post Compartilhar em outros sites
Hewitt 14 Denunciar post Postado Novembro 5, 2015 Marcos, quando eu tiro o GROUP BY, aparece um botão para cada produto! Já tinha testado. O botão está dentro do WHILE. Será que tenho que fazer uma consulta pra cada categoria? Compartilhar este post Link para o post Compartilhar em outros sites
Alaerte Gabriel 662 Denunciar post Postado Novembro 5, 2015 Deve ser por causa do "GROUP BY c.id_cat" tira essa parte e testa! Nessa linha: $id_cat = $ln['id_cat'];" se eu não me engano tem que colocar o assim $id_cat = $ln['p.id_cat']; Não precisa por o aliás. Marcos, quando eu tiro o GROUP BY, aparece um botão para cada produto! Já tinha testado. O botão está dentro do WHILE. Será que tenho que fazer uma consulta pra cada categoria? Utilize INNER JOIN $sql = mysql_query("SELECT * FROM produtos p INNER JOIN categorias c ON c.id_cat = p.id_cat"); Você está agrupando por categoria, por isso o resultado inesperado. Compartilhar este post Link para o post Compartilhar em outros sites
Hewitt 14 Denunciar post Postado Novembro 5, 2015 Alaerte, também não deu certo. Ele mostra um botão para cada resultado. Fiz 3 SQL's (das categorias) e deu certo do jeito que eu queria! Compartilhar este post Link para o post Compartilhar em outros sites
Alaerte Gabriel 662 Denunciar post Postado Novembro 5, 2015 Então beleza. Compartilhar este post Link para o post Compartilhar em outros sites