Ver Mensaje Individual
  #1 (permalink)  
Antiguo 28/01/2011, 22:18
Avatar de richardinj
richardinj
 
Fecha de Ingreso: enero-2005
Ubicación: Ciber Espacio
Mensajes: 2.180
Antigüedad: 19 años, 2 meses
Puntos: 11
Información Crear Menus Desplegables a partir de Tabla Recursiva CSS, PHP y MYSQL

Para los que buscan este tipo de contenido les dejo un codigo que les puede servir mucho...

ya ustedes lo daptan segun sus necesidades...

la TABLA

menus
-----------------
idmenu //id del menu
descripcion // nombre del menu
padre // id del menu al que depende
idtipomenu // tipo char, 1 indica que ese menu es una opcion que va mostrar mas listas.., 0 indica que es un menu nomral y no lleva a mas listas



Código HTML:
<link href="css/dropdown/dropdown.css" media="screen" rel="stylesheet" type="text/css" />

<link href="css/dropdown/themes/default/default.ultimate.css" media="screen" rel="stylesheet" type="text/css" /> 
Código PHP:
<?php

echo " <ul id='nav' class='dropdown dropdown-horizontal'> ";

cargarmenu("0");// Donde 0 es el Idpadre principal
   
   
function cargarmenu($id)
   {
       
$sql="select descripcion,idmenu,idtipomenu from menus where padre='$id'";
         
$r=mysql_query($sql); 

         while(
$f=mysql_fetch_array($r))
           { 
$descripcion=$f['descripcion']; $idtipomenu=$f['idtipomenu'];
           
               if (
$idtipomenu==1)
                  { 
                      echo 
"<li><span class='dir'>$descripcion</span>                  
                           <ul>   "

                           
cargarmenu($f['idmenu']);
                     echo 
"</ul></li>";        
                  }
                  else
                  {
                      echo 
"<li><a href='./'>".$f['descripcion']."</a></li>";
                  }

          }
          
   }

echo 
"</ul>";



?>


El CSS lo pueden sacar de aqui http://lwis.net/free-css-drop-down-menu/ hay muchas plantillas


* para evitar usar idtipomenu pueden hacer una consulta a la BD preguntando si ese ID tiene otros ide que dependen de el.. de ese modo en ves de preguntar si idtipomenu ==1... preguntarian el numero de registros es mayor a cero...

Última edición por richardinj; 05/02/2011 a las 00:04