"Se um trabalhador quiser fazer bem o seu trabalho, ele deve primeiro afiar suas ferramentas." - Confúcio, "Os Analectos de Confúcio. Lu Linggong"
Primeira página > Programação > Como recuperar e estruturar hierarquia de categorias em PHP/MySQL

Como recuperar e estruturar hierarquia de categorias em PHP/MySQL

Publicado em 2024-11-08
Navegar:795

How to Retrieve and Structure Category Hierarchy in PHP/MySQL

Hierarquia de categorias em PHP/MySQL

Neste cenário, pretendemos recuperar uma representação hierárquica de categorias e subcategorias de um MySQL banco de dados. Nosso objetivo é estruturar os dados em um formato aninhado que espelhe a hierarquia real dentro do banco de dados.

Para conseguir isso, aproveitamos o modelo de lista de adjacências, que nos permite gerar a hierarquia em uma única passagem. Utilizamos um script PHP para processar os dados e construir a representação hierárquica.

A primeira etapa envolve consultar o banco de dados para recuperar as categorias e subcategorias junto com seus respectivos relacionamentos pai-filho. Depois que os dados são buscados, criamos um array de referências para acesso rápido.

Em seguida, percorremos os dados recuperados e preenchemos o array de referências. Identificamos as categorias raiz (parent_id = 0) e as adicionamos ao array da lista. Para subcategorias, nós os adicionamos como filhos à categoria pai correspondente no array de referências.

Para gerar a saída hierárquica, definimos uma função recursiva, toUL(), que percorre o array de referências e constrói um lista não ordenada HTML aninhada (UL). A função pega um array como entrada e cria um elemento UL.

Dentro da função, iteramos pelo array e criamos um elemento LI (item de lista) para cada categoria. Se a categoria tiver filhos, chamamos recursivamente a função toUL() para construir a subárvore. A função retorna a representação HTML construída da hierarquia.

Este método nos permite representar com eficiência e precisão a hierarquia de categorias em um formato aninhado, que pode ser facilmente renderizado como um documento HTML ou usado para processamento posterior.

Declaração de lançamento Este artigo foi reimpresso em: 1729673806 Se houver alguma violação, entre em contato com [email protected] para excluí-lo
Tutorial mais recente Mais>

Isenção de responsabilidade: Todos os recursos fornecidos são parcialmente provenientes da Internet. Se houver qualquer violação de seus direitos autorais ou outros direitos e interesses, explique os motivos detalhados e forneça prova de direitos autorais ou direitos e interesses e envie-a para o e-mail: [email protected]. Nós cuidaremos disso para você o mais rápido possível.

Copyright© 2022 湘ICP备2022001581号-3