Kuidas luua puu menüü PHP ja MySQL abil

Autor: Ellen Moore
Loomise Kuupäev: 18 Jaanuar 2021
Värskenduse Kuupäev: 26 Aprill 2024
Anonim
Kuidas luua puu menüü PHP ja MySQL abil - Artiklid
Kuidas luua puu menüü PHP ja MySQL abil - Artiklid

Sisu

Puumenüü on elementide nimekirja visuaalne esitus, mis on korraldatud nii, et mõningaid elemente või kategooriaid, mida nimetatakse "vanemate sõlmedeks", saab laiendada ja kuvada alamelemente, mida nimetatakse "lapsõlmedeks". Te saate teavet MySQL-i andmebaasist ja luua veebilehe puu menüü abil PHP. Teie MySQL-i tabelis peab olema konkreetne formaat, mis identifitseerib lapsevanemate ja lastesõlmede ning nende vahelised suhted. Iga tabeli kirje on sõlm ja saate luua mitmetasandilise hierarhia.


Juhised

Puumenüü abil saab andmeid hierarhias korraldada (Fotod.com/Photos.com/Getty Images)
  1. Logige sisse oma MySQL andmebaasi: loo tabel kolme väljaga: sõlme ID, kirjeldus ja vanemate sõlme ID. Sisestage tabelisse teave. Iga sõlme ID peab olema unikaalne. Kõrgetasemelistel sõlmedel on põhisõlme ID 0 ja lapse sõlm näitab tipptaseme sõlme numbrit.

  2. Avage HTML-fail, milles soovite luua menüü. Sisestage kursor, kuhu soovite puu luua, ja sisestage järgmine kood:

    $db = mysql_connect ($nomehost, $usuario, $senha); mysql_select_db ($bancodados);

    Estas linhas apenas configuram a conexão ao seu banco de dados MySQL. Altere as variáveis PHP pelos valores apropriados para a sua base.

  3. Digite o seguinte código:

    $result = mysql_query('SELECT * FROM nome_tabela') or die(erro_mysql());


    Esta linha faz uma chamada ao banco de dados MySQL, obtém da tabela a informação da estrutura do menu em árvore e a salva em uma variável PHP.

  4. Digite o seguinte código:

    $menu = Array(); while ($m = mysql_fetch_array($result)) { $menu[] = Array('id'=>$m['id'], 'texto'=>$m['texto'], 'pai'=>$m['idpai']); }

    A primeira linha cria uma variável PHP e a inicializa como um array. O laço 'while' percorre os registros da variável $result e os formata para serem usados por uma função PHP.

  5. Digite o seguinte código:

    function menuarvore($linhas,$idpai=0) { $result = '

      '; foreach ($linhas as $linha) {

      A primeira linha cria uma nova função 'menuarvore' que você usará para montar a sua árvore, e usa um ou dois parâmetros. No primeiro lugar, ela toma a informação de um array PHP. O segundo parâmetro é um número inteiro que contém informação sobre os nodos pai na árvore. Se você não indicar um, a função criará a sua própria variável e inicializará o valor em zero.


    • Digite o seguinte código:

      if ($linha['idpai'] == $idpai) { $result.= '

    • {$linha[texto]}'; foreach ($linha as $r) { if ($r['idpai'] == $r['id']) $children = true; else $children = false; } if ($children = true) $result.= treemenu($linhas,$linha['id']) . '
    • '; }

      Estas linhas usam sentenças 'if' e laços para percorrer a informação da variável PHP que contém a estrutura do menu em árvore. Se a linha for um pai com um valor ID zero, a função criará um nodo pai. Se a linha for um filho, a função buscará o ID do nodo pai e criará um nodo filho conectado a ele. A função 'treemenu' é chamada recursivamente para verificar cada linha da variável de array PHP.

    • Digite o seguinte código:

      } $result .= '

    '; return $result; }

    Estas linhas fecham o laço 'for' que percorre todas as colunas dos resultados MySQL, adicionam código HTML e retornam a árvore da função. A última linha fecha o bloco de funções 'treemenu'.

  6. Digite o seguinte código:

    echo menuarvore($menu);

    Esimene rida nimetab funktsiooni "menuarvore" ja edastab selle teabe MySQL andmebaasi, seejärel näitab see veebilehe puu. Teine rida sulgeb PHP koodiploki.

Kuidas

  • Vajadusel lisage MySQL tabelisse rohkem välju. Näiteks saate lisada teise tekstivälja, mis sisaldab iga sõlme hüperlinke.