Ver Mensaje Individual
  #23 (permalink)  
Antiguo 23/05/2008, 01:59
Avatar de ANGELIUZ
ANGELIUZ
 
Fecha de Ingreso: enero-2008
Mensajes: 11
Antigüedad: 17 años, 1 mes
Puntos: 0
Respuesta: Crear menu con Categorias y SubCategorias usando MySQL y PHP

Al final nunca postie la solucion que encontre para mi problema, dejo aqui el codigo por si a alguien le gusta, para mi que aprendi en febrero de este año a intentar programar me dejo satisfecho esta forma.
He aqui el codigo:

Código PHP:
<?php
function generate_menu2($id_padre)
    {    
$conexion=mysql_connect("localhost","USUARIO","PASSWORD") or die("Problemas en la conexion");//CONECTO A LA BASE DE DATOS
        
mysql_select_db("BASE DE DATOS",$conexion) or die("Problemas en la selección de la base de datos");
        
$query=mysql_query("SELECT * FROM secciones",$conexion);
        
mysql_close($conexion);
            while ( 
$row mysql_fetch_assoc($query) )
                {
$menu_array[$row["id_categoria"]] = array("id_categoria" => $row["id_categoria"],"nombre_cat" => $row["nombre_cat"],"id_padre" => $row["id_padre"]);
                }
            foreach(
$menu_array as $key => $value)
                {if (
$value["id_padre"] == $id_padre
                        {    
                        if(
$id_padre == 0)
                            {echo 
$value['nombre_cat']."<br>";
                             
generate_menu2($key);
                            }
                        else 
                            {echo 
"&nbsp;&nbsp;&nbsp;-&nbsp;&nbsp;"$value['nombre_cat']."<br>";
                             
generate_menu2($key);
                            }
                        }
                }
    }
?>
<?php generate_menu2
(0);?>
Y la tabla seria la siguiente:
Código:
CREATE TABLE IF NOT EXISTS `secciones` (
  `id_categoria` int(10) NOT NULL auto_increment,
  `nombre_cat` varchar(200) NOT NULL default '',
  `id_padre` int(11) NOT NULL default '0',
  PRIMARY KEY  (`id_categoria`)
) ENGINE=MyISAM  DEFAULT CHARSET=latin1 AUTO_INCREMENT=39 ;
Ojo con las comillas del codigo de la table no estoy seguro que sean esas.

En el fondo lo simplifique al maximo dejandolo solo en una tabla y cuando quiero relacionarla con otra tabla, por ejemplo con la tabla productos, lo que hago es incluir dentro de la tabla productos, el campo id_categoria y asi hago la relacion, lugo el script del menu separa las categorias hijas de las padres.

Bueno si alguien puede mejorar el codigo o mostrar un codigo mas bk se le agradeceria y asi sigo aprendiendo, siempre pienso que en unos años mas me reire de las cosas que hago ahora, pero este es mi humilde avance.

Saludos