Ver Mensaje Individual
  #2 (permalink)  
Antiguo 16/12/2014, 11:21
xinxan22
 
Fecha de Ingreso: septiembre-2005
Mensajes: 522
Antigüedad: 18 años, 8 meses
Puntos: 0
Respuesta: ¿Como se hace?

Buenas tardes,

yo lo haría de la siguiente manera:

Una sola tabla que contenga el menú y submenú. En el caso de submenú, indicar a que menú pertenece (menú es el padre, submenú es el hijo):

tabla_menu
id - descripcion - id_padre - link
1 - Inicio - 0 - http://www.mipagina.com/inicio.php
2 - Opinión - 0 - http://www.mipagina.com/opinion.php
..
8 - El diario - 0 - http://www.mipagina.com/el-diario.php
9 - Quienes somos - 8 - http://www.mipagina.com/quienes-somos.php
10 - Mercadeo - 8 - http://www.mipagina.com/mercadeo.php

El "id_padre" indica el "id" de esta misma tabla del cual cuelga, por ejemplo:

"Inicio" no cuelga de nadie, no tiene padre, pues id_padre = 0.
"Quienes somos" cuelga de "el diario" (su id = 8), pues id_padre = 8.

Además, añadiría una columna link (y se podrían añadir más columnas) para indicar el destino cuando haces click sobre el menu.

Luego con un SELECT muestras el menú principal:

SELECT id, descripcion, link FROM tabla_menu WHERE id_padre=0;

Y luego para mostrar el submenu de "el diario" haces otro SELECT:

SELECT id, descripcion, link FROM tabla_menu WHERE id_padre=8;

Se puede optimizar más haciendo un solo SELECT o de otras formas, esto es solo una idea.

Saludos