• Revista PROGRAMAR: Já está disponível a edição #53 da revista programar. Faz já o download aqui!

ivoperalta

menus e submenus em XML a partir do MySQL

4 mensagens neste tópico

Boas, faz pouco tempo que descobri como passar uma base de dados de MySQL para XML atarvés do PHP.

É algo interessante para construir menus dinâmicos. Mas cedo surgiu outra dúvida: é possível criar um menu

XML atarvés da bd MySQL em que o menu compreende a possibilidade de ter vários submenus dentro de outros submenus?

Tentando esquematizar um exemplo será mais ou menos isto que procuro:

   menu1

        submenu1

        submenu2

  menu2

        submenu1

        submenu2

              sub-submenu1

              sub-submenu2

              sub-submenu3

         submenu3

   menu3

        submenu1

              sub-submenu1

        submenu2

        submenu3

        submenu4

Pela pouca experiência que tenho diria que se trata de tabelas dentro de tabelas... ou seja, fazer as consultas

à bd tendo em conta um elemento que identifique cada nó do XML, por exemplo incluindo "WHERE id=1" e assim

ir construindo nós dentro de nós no XML com uma função while...

Alguém aqui já consegiu algo do género? Alguém que me possa dar alguma luz sobre o assunto?

Obrigado.

0

Partilhar esta mensagem


Link para a mensagem
Partilhar noutros sites

Sim podes fazer isso...

A ideia é simples na base de dados tens de ter um campo que se chame por exemplo parentID ou idPai

A partir dai, os que têm 0 nesse valor são os menus principais, depois é so meteres o id de cada menu superior nos submenus....

Se calhar com um exemplo percebes melhor:

menu1 - id: 1 , idPai: 0

        submenu1 - id: 11, idPai: 1

        submenu2 - id 12, idPai: 1

menu2 - id: 2 , idPai: 0

        submenu1 - id: 21, idPai: 2

        submenu2 - id:14, idPai: 2

              sub-submenu1 - id:15, idPai: 14

              sub-submenu2 - id 16, idPai: 14

              sub-submenu3 - id 17, idPai: 14

        submenu3 - id 18, idPai: 2

menu3 id: 3 , idPai: 0

        submenu1 - id 20, idPai: 3

              sub-submenu1 - id 21, idPai: 20

        submenu2 - id 21, idPai: 3

        submenu3 - id 22, idPai: 3

        submenu4 - id 24, idPai: 3

Percebeste a logica?

0

Partilhar esta mensagem


Link para a mensagem
Partilhar noutros sites

sim percebi. e tal como suspeitava basta definir um campo extra na base de dados p poder identificar

que filho corresponde a cada pai para assim poder criar o XML do menu dentro do PHP e dessa forma

obter um menu totalmente dinâmico e com possibilidade de expansão.

ainda n comecei a trabalhar no assunto mas assim já o farei com mais confiança :P

obrigado.

0

Partilhar esta mensagem


Link para a mensagem
Partilhar noutros sites

'Tabelas dentro de tabelas', seria de facto uma forma de ver as coisas, é basicamente isso mas tem nome diferente, chama-se

'relacionamento'.

Neste caso é um relacionamento de uma tabela consigo própria.

O melhor era mesmo pedires uns apontamentos de bases de dados a alguem que conheças. Ou leres um livro, só que isso demora mais tempo e provavelmente não queres aprender mais para alem do mais simples neste momento.

é possível fazer isso e muito mais usando bases de dados em conjunto com uma linguagem de programação.

0

Partilhar esta mensagem


Link para a mensagem
Partilhar noutros sites

Crie uma conta ou ligue-se para comentar

Só membros podem comentar

Criar nova conta

Registe para ter uma conta na nossa comunidade. É fácil!


Registar nova conta

Entra

Já tem conta? Inicie sessão aqui.


Entrar Agora