Foros del Web » Programando para Internet » PHP »

menu dinamico en php

Estas en el tema de menu dinamico en php en el foro de PHP en Foros del Web. buenos dias por favor necesito ayuda con un menu dinamico que estoy tratando de hacer pero no logro hacer que me cuadre @import url("http://static.forosdelweb.com/clientscript/vbulletin_css/geshi.css"); Código ...
  #1 (permalink)  
Antiguo 25/07/2013, 07:51
Avatar de shake2427  
Fecha de Ingreso: julio-2011
Mensajes: 116
Antigüedad: 12 años, 9 meses
Puntos: 3
menu dinamico en php

buenos dias
por favor necesito ayuda con un menu dinamico que estoy tratando de hacer pero no logro hacer que me cuadre

Código BD:
Ver original
  1. CREATE TABLE IF NOT EXISTS `menu` (
  2.   `id` int(11) NOT NULL AUTO_INCREMENT,
  3.   `menu_nombre` varchar(25) NOT NULL,
  4.   `id_padre` int(11) NOT NULL,
  5.   PRIMARY KEY (`id`)
  6. ) ENGINE=InnoDB  DEFAULT CHARSET=latin1 AUTO_INCREMENT=11 ;
  7.  
  8. --
  9. -- Volcado de datos para la tabla `menu`
  10. --
  11.  
  12. INSERT INTO `menu` (`id`, `menu_nombre`, `id_padre`) VALUES
  13. (1, 'Home', 0),
  14. (2, 'home1', 1),
  15. (3, 'home2', 1),
  16. (4, 'home3', 1),
  17. (5, 'Productos', 0),
  18. (6, 'productos1', 5),
  19. (7, 'productos2', 5),
  20. (8, 'productos3', 5),
  21. (9, 'productosub1-1', 6),
  22. (10, 'productosub1-2', 6);

tengo el siguiente codigo php

Código PHP:
Ver original
  1. function con(){
  2.     $conexion = mysql_connect( "localhost" , "root" , "root")or die ( mysql_error() );
  3.     mysql_select_db( "menu2" , $conexion );
  4.     return $conexion;
  5. }
  6.  
  7. function menu( $id_padre = 0 ){    
  8.          $menu = '';
  9.          $sql = "SELECT * FROM menu WHERE id_padre = $id_padre";    
  10.          $query = mysql_query( $sql,con() );  
  11.          $cant = mysql_num_rows( $query );          
  12.          if( $cant > 0 ){ $menu .= '<ul>'; }            
  13.          while( $resultado = mysql_fetch_assoc( $query ) ){              
  14.             $menu .=  '<li>' . $resultado['menu_nombre'];
  15.             $menu .= menu( $resultado['id'] ) . '</li>';              
  16.          }        
  17.          if( $cant > 0 ){ $menu .= '</ul>'; }      
  18.          return $menu;
  19. }
  20.  
  21. $menu = menu();
  22. echo $menu;

y me crea una estructura del menu de la siguiente manera
Código HTML:
Ver original
  1. <ul>
  2.    <li> Home
  3.      <ul>
  4.        <li>home1</li>
  5.        <li>home2</li>
  6.        <li>home3</li>
  7.      </ul>
  8.    </li>
  9.    <li> Productos
  10.      <ul>
  11.        <li> productos1
  12.          <ul>
  13.            <li>productosub1-1</li>
  14.            <li>productosub1-2</li>
  15.          </ul>
  16.        </li>
  17.        <li>productos2</li>
  18.        <li>productos3</li>
  19.      </ul>
  20.    </li>
  21.  </ul>

pero necesito una estructura asi del menu:
Código HTML:
Ver original
  1. <div id="menu">
  2.        <ul class="menu">
  3.            <li><a href="#" class="parent"><span>level 1</span></a><!-- menu principal primer nivel -->
  4.            <li><a href="#" class="parent"><span>level 1</span></a><!-- menu principal primer nivel -->
  5.                 <div><ul><li><a href="#"><span>level 2</span></a></li></ul></div><!-- menu segundo nivel -->
  6.            </li>
  7.            <li><a href="#" class="parent"><span>level 1</span></a> <!-- menu principal primer nivel -->
  8.                <div><ul>
  9.                   <li><a href="#" class="parent"><span>level 2</span></a><!-- menu segundo nivel -->
  10.                       <div><ul><li><a href="#"><span>level 3</span></a></li></ul></div><!-- menu tercer nivel -->
  11.                   </li>
  12.                </ul></div>
  13.            </li>
  14.        </ul>
  15.    </div>

por favor alguien si me puede ayudar. o que me de alguna idea de como poder hacer esto
  #2 (permalink)  
Antiguo 25/07/2013, 08:02
 
Fecha de Ingreso: febrero-2004
Ubicación: Guatemala
Mensajes: 117
Antigüedad: 20 años, 2 meses
Puntos: 2
Respuesta: menu dinamico en php

Hola, te dejo 2 observaciones:

1. En la bd podrias agregar de una vez el nivel.
2. Agregale a tu script que le agregue las clases.

Saludos
jlh
  #3 (permalink)  
Antiguo 25/07/2013, 10:08
Avatar de shake2427  
Fecha de Ingreso: julio-2011
Mensajes: 116
Antigüedad: 12 años, 9 meses
Puntos: 3
Respuesta: menu dinamico en php

Cita:
Iniciado por jluishg Ver Mensaje
Hola, te dejo 2 observaciones:

1. En la bd podrias agregar de una vez el nivel.
2. Agregale a tu script que le agregue las clases.

Saludos
jlh

pero como podria al agregar el nivel, a la hora de mostrar los datos por php, por que podria haber N niveles, tendria que ser dinamico.
y que salga con el formato que necesito.

Etiquetas: dinamico, mysql, select, sql, tabla
Atención: Estás leyendo un tema que no tiene actividad desde hace más de 6 MESES, te recomendamos abrir un Nuevo tema en lugar de responder al actual.
Respuesta




La zona horaria es GMT -6. Ahora son las 08:39.