Bueno, pido perdón por haberlo posteado apurado y Mal !!!!
dejo acá la versión corregida que funciona perfectamente, si hay algo para mejorarla bienvenido sea, Saludos gracias Triby y cuasatar
Código PHP:
<?php
/*
* ================================================================================
* Función Menú con Recurcividad
* http://www.forosdelweb.com/f18/aporte-menu-categorias-subcategorias-mas-1011423/
* truman_truman
* ===============================================================================
*
*/
/*
************************************************************
---------------------------------------------------
---------------MYSQL ------------------------------
---------------------------------------------------
--
-- 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);
***********************************************************
*/
/*
* ================================================================================
* RESULTADO
* ===============================================================================
*
<ul>
<li> Home
<ul>
<li>home1</li>
<li>home2</li>
<li>home3</li>
</ul>
</li>
<li> Productos
<ul>
<li> productos1
<ul>
<li>productosub1-1</li>
<li>productosub1-2</li>
</ul>
</li>
<li>productos2</li>
<li>productos3</li>
</ul>
</li>
</ul>
*/
function con(){
$conexion = mysql_connect( "localhost" , "root" , "")or die ( mysql_error() );
mysql_select_db( "pruebas" , $conexion );
return $conexion;
}
function menu( $id_padre = 0 ){
$menu = '';
$sql = "SELECT * FROM menu WHERE id_padre = $id_padre";
$query = mysql_query( $sql,con() );
$cant = mysql_num_rows( $query );
if( $cant > 0 ){ $menu .= '<ul>'; }
while( $resultado = mysql_fetch_assoc( $query ) ){
$menu .= '<li>' . $resultado['menu_nombre'];
$menu .= menu( $resultado['id'] ) . '</li>';
}
if( $cant > 0 ){ $menu .= '</ul>'; }
return $menu;
}
$menu = menu();
echo $menu;