Cuando hablo de selects, no me refiero a la sentencia SQL, sino al código html, o tb llamados combobox.
A ver si con la estructura de la tabla me entiendes mejor
:
CREATE TABLE `tb_categoria` (
`id_categoria` int(4) unsigned NOT NULL auto_increment,
`nombre_cat` varchar(255) NOT NULL default '',
`codigo` varchar(40) NOT NULL default '',
`parent_id` varchar(40) default NULL,
`children_count` smallint(6) default NULL,
PRIMARY KEY (`id_categoria`),
UNIQUE KEY `code` (`codigo`),
KEY `parent_id` (`parent_id`)
) ENGINE=MyISAM;
En realidad, lo que quiero mostrar dentro de los selects es el
nombre_cat, pero el
nombre_cat está condicionado por el
parent_id que es clave foránea de
id_categoría, cuando el
parent_id es null es que la categoría es principal, sino es que tiene categorías dependientes según el
parent_id .
Entonces, la cuestión es:
El primer select (combo) mostraría todas las categorías padre, en el momento en que seleccionas una categoría y ésta tiene categorías hijas, mostraría en otro combo las hijas, y así sucesívamente hasta que las categorías no tengan más categorías hijas, para eso está el campo
'children_count' donde se sabría cuantos niveles tiene que bajar desde la categoría pardre.
A ver si esta vez me he explicado mejor
.
Un saludo y gracias
.