Faz somente uma tabela para categoria e subcategoria e outra para produtos:
Tabela de Categoria/Subcategoria
id` tinyint(3) unsigned NOT NULL AUTO_INCREMENT,
pai_id` tinyint(3) unsigned NOT NULL DEFAULT '0',
ordem` tinyint(3) unsigned NOT NULL DEFAULT '0',
visivel` tinyint(3) unsigned NOT NULL DEFAULT '1',
nome` varchar(60) NOT NULL,
tipo` varchar(10) DEFAULT 'categoria', // Aqui eu defino o que é categoria e subcategoria
Um exemplo da tabela populada:
INSERT INTO `intranet_rh_cargos` (`id`, `pai_id`, `ordem`, `visivel`, `nome`, `tipo`) VALUES
(6, 0, 1, 1, 'Categoria 1', 'categoria'),
(43, 6, 6, 1, 'Subcategoria 1','subcategoria'),
(41, 6, 5, 1, 'Subcategoria 2','subcategoria'),
(39, 6, 4, 1, 'Subcategoria 3','subcategoria'),
(37, 6, 3, 1, 'Subcategoria 4', 'subcategoria'),
(35, 6, 2, 1, 'Subcategoria 5', 'subcategoria'),
(33, 6, 1, 1, 'Subcategoria 6', 'subcategoria'),
(10, 6, 0, 1, 'Subcategoria 7', 'subcategoria'),
(13, 0, 0, 1, 'Categoria 2', 'categoria'),
(15, 13, 0, 1, 'Subcategoria 1', 'subcategoria'),
(17, 13, 1, 1, 'Subcategoria 2', 'subcategoria'),
(19, 0, 2, 1, 'Categoria 3', 'categoria'),
(21, 19, 3, 1, 'Subcategoria 1', 'subcategoria'),
(23, 19, 4, 1, 'Subcategoria 2', 'subcategoria'),
(25, 19, 5, 1, 'Subcategoria 3', 'subcategoria'),
(27, 19, 6, 1, 'Subcategoria 4', 'subcategoria'),
- pai_id é quem diz de qual categoria pertence
- ordem se quiser manter um ordem
- visivel : mostra ou não o item
--
_________________________________
Rodrigo Corrêa e Castro
Web Developer
rodrigocor...@gmail.com
+55 24 9839-2129
+55 24 3421-1956 "ECONOMIZE PAPEL - PENSE ANTES DE IMPRIMIR!"