Código PHP:
/*
--
-- Estructura de tabla para la tabla `menu`
--
CREATE TABLE IF NOT EXISTS `menu` (
`id` int(11) NOT NULL AUTO_INCREMENT,
`menu_nombre` varchar(25) NOT NULL,
`id_padre` int(11) NOT NULL,
PRIMARY KEY (`id`)
) ENGINE=InnoDB DEFAULT CHARSET=latin1 AUTO_INCREMENT=11 ;
--
-- Volcado de datos para la tabla `menu`
--
INSERT INTO `menu` (`id`, `menu_nombre`, `id_padre`) VALUES
(1, 'Home', 0),
(2, 'home1', 1),
(3, 'home2', 1),
(4, 'home3', 1),
(5, 'Productos', 0),
(6, 'productos1', 5),
(7, 'productos2', 5),
(8, 'productos3', 5),
(9, 'productosub1-1', 6),
(10, 'productosub1-2', 6);
*/
function con(){
$conexion=mysql_connect("localhost","root","")or die ('Ha fallado la conexión: '.mysql_error());
//selección de la base de datos con la que vamos a trabajar
mysql_select_db("pruebas",$conexion);
return $conexion;
}
function menu($id_padre=0){
$sql = "SELECT * FROM menu WHERE id_padre = $id_padre";
$query = mysql_query($sql,con());
while($resultado = mysql_fetch_assoc($query)){
@$menu .= '<li>'.$resultado['menu_nombre'].'</li>'; //
@$menu .=menu($resultado['id']);
}
$menu = '<ul>'.$menu.'</ul>';
return $menu;
}
$menu = menu();
echo $menu;