Tema: ¿distinct?
Ver Mensaje Individual
  #3 (permalink)  
Antiguo 04/09/2012, 05:33
Avatar de truman_truman
truman_truman
 
Fecha de Ingreso: febrero-2010
Ubicación: /home/user
Mensajes: 1.341
Antigüedad: 14 años, 10 meses
Puntos: 177
Respuesta: ¿distinct?

Tendrías que usar una función recursiva para obtener los hijos de cada menú
probá esto, funciona, y fijate como lo podrías adaptar a tu código



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=9 ;

--
-- 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);

*/ 
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
__________________
la la la