Foros del Web » Programando para Internet » PHP »

Recursividad en Menú

Estas en el tema de Recursividad en Menú en el foro de PHP en Foros del Web. Hola Maestros: Voy trabajando en un proyecto y me topo con el menu dropdown, lo necesito así para ahorrar espacio, uso recursividad para hacer mas ...
  #1 (permalink)  
Antiguo 12/10/2010, 13:53
 
Fecha de Ingreso: enero-2010
Mensajes: 491
Antigüedad: 14 años, 3 meses
Puntos: 12
Recursividad en Menú

Hola Maestros:

Voy trabajando en un proyecto y me topo con el menu dropdown, lo necesito así para ahorrar espacio, uso recursividad para hacer mas amigable el sistema, al grano.

Mi tabla es esta:

Código:
CREATE TABLE `ss_module` (
  `id` bigint(7) NOT NULL auto_increment,
  `name` varchar(50) collate utf8_spanish_ci default NULL,
  `alias` char(70) collate utf8_spanish_ci default NULL,
  `link` varchar(70) collate utf8_spanish_ci default NULL,
  `estado` enum('y','n') collate utf8_spanish_ci default 'y',
  `dp` bigint(7) default NULL,
  `orden` int(2) default NULL,
  PRIMARY KEY  (`id`)
) ENGINE=MyISAM AUTO_INCREMENT=8 DEFAULT CHARSET=utf8 COLLATE=utf8_spanish_ci;
y mi codigo php es esta:
Código PHP:
<?
class Admin_banner extends classes{
    function 
bannertree($tabla,$id,$dp,$value){
        
$sql='SELECT * FROM '.$tabla.' WHERE '.$dp.'='.$value.' AND estado = "y"';
        
$rs mysql_query($sql);
        echo 
'<li>';  //ini li
        
while($arr=mysql_fetch_array($rs)){
            if (
$value == 0) {
                echo 
'<a href="'.$arr['link'].'">'.$arr['name'].'</a><ul>';
            }else{
                echo 
'<li><a href="'.$arr['link'].'">'.$arr['name'].'</a></li>';
                
            }
            echo 
$ar;
            
$this->bannertree($tabla,$id,$dp,$arr[0]);
        }
        
        echo 
'</li>';  //fin li
    
}
}
$banner = new Admin_banner;

echo 
'<div id="header">
    <h1>Sistema Integrado POA Presupuesto</h1><p class="description">Bienvenido <strong>'
.$_SESSION['$hello_name'].'</strong>!</p>
<div id="top">'
;
echo 
'<ul id="menu">';
$banner->bannertree(MODULES_TABLE,'id','dp',0);
/*        
Necesito lograr esto
<li><a href="#">Sistema</a>
            <ul>
                <li><a href="'.MODULES_PAGE.'">Modulos</a></li>
                <li><a href="'.CONFIG_PAGE.'" class="last">Configuración</a></li>
            </ul>
        </li>
Fin necesito lograr esto
*/
echo '</ul>
</div>
</div>
<div id="main">'
;

?>
Si Ves el código en Comentarios "Necesito lograr esto", pues así debe quedar el html, el problema es que en el bannertree(), no logro cerrar el <ul>.

Espero ideas, criticas reproches, en fin todo sirve.

Gracias

Etiquetas: recursividad
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 09:08.