brunorios 0 Denunciar post Postado Agosto 26, 2009 Salve galera! Tô criando um sisteminha de categorias e sub-categorias infinitas... Na tabela "categorias", tenho o campo "pai". Se for sub-categoria, preencho o campo pai com o ID da categoria pai... Preciso listar as categorias, e listar as sub-categorias abaixo delas. Exemplo: - Categoria 1 (sem pai) --> Categoria 2 (pai: 1) --> Categoria 3 (pai: 1) ----> Categoria 4 (pai: 3) - Categoria 5 (sem pai) --> Categoria 6 (pai: 5) --> Categoria 7 (pai: 5) Como faço esse select? Faço um select dentro de outro, ou tenho q usar subquery? Valeu!!! Compartilhar este post Link para o post Compartilhar em outros sites
Motta 645 Denunciar post Postado Agosto 26, 2009 http://forum.imasters.com.br/index.php?/topic/342289-listagem-de-produtos-por-categoria-e-subcategoria/page__hl__connect%20by__fromsearch__1 Compartilhar este post Link para o post Compartilhar em outros sites
brunorios 0 Denunciar post Postado Agosto 27, 2009 muito obrigado, mas a dúvida é parecida com a do tópico citado mas nao é a mesma... ele quer listar na categoria pai os produtos que pertencem tanto à categoria pai quanto às subcategorias... eu quero apenas listar em um menu, a categoria pai e as subcategorias pertencentes à categoria pai... acho q agora vai ficar bem mais facil com esse exemplo, mas como nao sou fera em php nao consigo decifrar isso sozinho... se alguem puder dar uma força! creio que a lógica seria mais ou menos isso: // busca as categorias primárias, que seriam as sem pai $query = select * from categorias where pai = ''; // faz um ciclo entre elas $r = while (mysql_fetch_array($query)) { // exibe o nome da categoria sem pai echo $r[nome]; // busca as sub-categorias atraves do id da categoria sem pai $query_sub1 = select * from categorias where pai = $r[id]; $r_sub1 = while (mysql_fetch_array($query_sub1)) { // exibe seus nomes... echo $r_sub1[nome]; // busca as sub-categorias atraves do id da categoria sem pai $query_sub2 = select * from categorias where pai = $r_sub1[id]; $r_sub2 = while (mysql_fetch_array($query_sub2)) { // exibe seus nomes... echo $r_sub2[nome]; } } } não sei se pode colocar uma query dentro de outra query como fiz pois nao testei... e outro problema é quando tiver sub-sub-sub-categorias e assim por diante... o ideal seria tornar isso infinito de uma forma dinamica... valeu!!! Compartilhar este post Link para o post Compartilhar em outros sites