Este blog é um complemento do nosso canal no YouTube. Clique em @CanalQb para seguir e acompanhar nossos vídeos!

Sugestões de pesquisas

Como montar lógica PHP para menus SQL com duplo retorno

#php; #sql; #menusdinamicos
@CanalQb

PHP para montar consultas SQL com retorno duplo na mesma tabela

Recomendações de segurança para desenvolvedores

Sempre crie uma frase de segurança única para jogos, airdrops e qualquer outra aplicação de origem desconhecida. Evite utilizar sua carteira principal.

Desenvolvendo lógica SQL com PHP para menus hierárquicos

Ao trabalhar com desenvolvimento web e bancos de dados, é comum a necessidade de construir estruturas hierárquicas como menus e submenus. Este post explora como usar PHP para montar essas estruturas dinamicamente com base em uma única tabela relacional no banco de dados.

Contextualização do problema

Imagine que temos uma tabela chamada pg_menu, responsável por armazenar informações sobre menus e submenus de um sistema. Cada linha da tabela possui o campo ID_MENU_ID, que funciona como uma chave estrangeira para o campo MENU_ID, formando assim uma estrutura de relacionamento entre os itens principais e seus subitens.

Objetivo e funcionamento da solução

Nosso objetivo é montar uma árvore de menus e submenus utilizando PHP, com base na estrutura relacional da tabela pg_menu. Não abordaremos aqui frameworks ou abstrações complexas, mas sim a lógica pura em PHP com consultas SQL organizadas.

Exemplo prático de script PHP

<?php
include("./conecta.php");

echo '<ul id="Menu-airdropsQb" class="nav">';

$MENUSQL = "SELECT * FROM pg_menu ORDER BY MENU_NOME ASC";
$RESULTMENU = $con->query($MENUSQL);

if ($RESULTMENU->num_rows > 0) {
    while ($linha = $RESULTMENU->fetch_assoc()) {
        $MENUID = $linha["MENU_ID"];
        $MENUNOME = $linha["MENU_NOME"];
        $MENUIDMENUP = $linha["ID_MENU_ID"];

        if ($MENUIDMENUP == 0) {
            $SUBMENUSQL = "SELECT * FROM pg_menu WHERE ID_MENU_ID = $MENUID ORDER BY MENU_NOME ASC";
            $RESULTSUBMENU = $con->query($SUBMENUSQL);

            if ($RESULTSUBMENU->num_rows > 0) {
                echo '<li class="nav-item">
                        <a class="nav-link has-arrow waves-effect waves-dark" href="#">
                            <i class="mdi mdi-gauge"></i>
                            <span class="hide-menu">' . $MENUNOME . '</span>
                        </a>
                        <ul class="collapse">';

                while ($linha = $RESULTSUBMENU->fetch_assoc()) {
                    $SUBMENUNOME = $linha["MENU_NOME"];
                    echo '<li class="nav-item"><a class="nav-link" href="index.html">' . $SUBMENUNOME . '</a></li>';
                }

                echo '</ul></li>';
            } else {
                echo '<li class="nav-item nav-small-cap">' . $MENUNOME . '</li>';
            }
        }
    }
}

mysqli_close($con);
echo '</ul>';
?>

Considerações e aplicações futuras

Esse exemplo mostra como construir estruturas de navegação com base em dados dinâmicos, úteis tanto para sistemas administrativos quanto para sites com conteúdos organizados por categorias e subcategorias.

Você pode adaptar esse código para frameworks como Laravel ou CodeIgniter, ou até mesmo transformar em uma API REST que retorne os dados em JSON.

Boas práticas de segurança e manutenção

  • Evite concatenar diretamente valores SQL; use prepared statements.
  • Valide entradas e proteja contra SQL Injection.
  • Mantenha backups dos bancos de dados usados.

Para mais detalhes sobre estruturação de menus dinâmicos e consultas SQL aninhadas, recomendamos a leitura da documentação oficial do MySQLi em PHP.

Conclusão

Montar menus dinâmicos com PHP e SQL é uma tarefa que exige lógica bem definida e boa organização de tabelas. Ao utilizar relacionamentos corretos e scripts bem estruturados, você consegue criar interfaces dinâmicas e escaláveis com facilidade.

Se este tutorial ajudou você ou se tiver sugestões, deixe seu comentário! Vamos continuar aprendendo juntos sobre desenvolvimento web e boas práticas.

#php; #sql; #menusdinamicos

إرسال تعليق

Comente só assim vamos crescer juntos!
CanalQb mais próximo Quer falar com o CanalQb?
Em que posso te ajudar?
Fale comigo