Mam utworzone 2 tabele w bazie danych: categories i categories_description.
Chciałbym z nich wygenerować menu o takiech hierarchi i wygladzie:
1. Ceramika w srebrze
1.1 Wisiory
1.2 Komplety
1.3 Pierścionki
1.4 Bransolety
1.5 Broszki
2. Bransolety
2.1 Damskie
2.1.1 Z kamieniami
2.1.1.1 Bursztyn
2.1.1.2 Cyrkonia
2.1.1.3 Inne
2.1.1.4 Syntetyczne
2.1.2 Bez kamieni
2.2 Męskie
2.3 Na nogę
3. Broszki
4. Kolczyki
4.1 Z kamieniami
4.1.1 Bursztyn
4.1.2 Cyrkonia
4.1.3 Inne
4.1.4 Syntetyczne
4.2 Bez kamieni
5. Łańcuszki
5.1 Damskie
5.2 Męskie
6. Wisiorki
6.1 Z kamieniami
6.1.1 Bursztyn
6.1.2 Cyrkonia
6.1.3 Inne
6.1.4 Syntetyczne
6.2 Bez kamieni
7. Dewocjonalia
7.1 Krzyże
7.2 Medaliki
8. Biżuteria sztuczna
Ponizej podaje strukture tabelek, wraz z wpisanymi pozycjami menu, w categories i categories_description
są już wpisane i poukładane pozycje. Nie potrafie tylko wyciagnac tego z bazy.
categories
CREATE TABLE `categories` ( `categories_id` int(11) NOT NULL AUTO_INCREMENT, `categories_image` varchar(64) DEFAULT NULL, `parent_id` int(11) NOT NULL DEFAULT '0', `sort_order` int(3) DEFAULT NULL, `date_added` datetime DEFAULT NULL, `last_modified` datetime DEFAULT NULL, PRIMARY KEY (`categories_id`), KEY `idx_categories_parent_id` (`parent_id`) ) ENGINE=MyISAM AUTO_INCREMENT=60 DEFAULT CHARSET=latin2 AUTO_INCREMENT=60 ; INSERT INTO `categories` VALUES (22, NULL, 0, 2, '2006-10-25 13:25:12', NULL); INSERT INTO `categories` VALUES (23, NULL, 0, 3, '2006-10-25 13:30:03', NULL); INSERT INTO `categories` VALUES (24, 'aaa.gif', 0, 4, '2006-10-25 13:48:49', '2006-10-25 13:49:53'); INSERT INTO `categories` VALUES (35, NULL, 22, 1, '2006-10-26 10:30:24', NULL); INSERT INTO `categories` VALUES (26, NULL, 0, 5, '2006-10-26 10:23:23', NULL); INSERT INTO `categories` VALUES (27, NULL, 0, 6, '2006-10-26 10:23:47', NULL); INSERT INTO `categories` VALUES (28, NULL, 0, 7, '2006-10-26 10:24:16', NULL); INSERT INTO `categories` VALUES (29, NULL, 0, 8, '2006-10-26 10:24:37', NULL); INSERT INTO `categories` VALUES (30, NULL, 21, 0, '2006-10-26 10:25:14', '2006-10-26 10:25:39'); INSERT INTO `categories` VALUES (31, NULL, 21, 2, '2006-10-26 10:25:48', NULL); INSERT INTO `categories` VALUES (32, NULL, 21, 3, '2006-10-26 10:26:04', NULL); INSERT INTO `categories` VALUES (33, NULL, 21, 4, '2006-10-26 10:28:10', NULL); INSERT INTO `categories` VALUES (34, NULL, 21, 5, '2006-10-26 10:28:21', NULL); INSERT INTO `categories` VALUES (36, NULL, 22, 2, '2006-10-26 10:30:31', NULL); INSERT INTO `categories` VALUES (37, NULL, 22, 3, '2006-10-26 10:30:39', NULL); INSERT INTO `categories` VALUES (38, NULL, 35, 1, '2006-10-26 10:31:21', NULL); INSERT INTO `categories` VALUES (39, NULL, 35, 2, '2006-10-26 10:31:30', NULL); INSERT INTO `categories` VALUES (40, NULL, 38, 1, '2006-10-26 10:32:07', NULL); INSERT INTO `categories` VALUES (41, NULL, 38, 2, '2006-10-26 10:32:14', NULL); INSERT INTO `categories` VALUES (42, NULL, 38, 3, '2006-10-26 10:32:23', NULL); INSERT INTO `categories` VALUES (43, NULL, 38, 4, '2006-10-26 10:32:32', NULL); INSERT INTO `categories` VALUES (44, NULL, 24, 1, '2006-10-26 10:33:01', NULL); INSERT INTO `categories` VALUES (45, NULL, 24, 2, '2006-10-26 10:33:46', NULL); INSERT INTO `categories` VALUES (46, NULL, 44, 1, '2006-10-26 10:34:13', NULL); INSERT INTO `categories` VALUES (21, NULL, 0, 1, '2006-10-25 13:22:24', NULL); INSERT INTO `categories` VALUES (47, NULL, 44, 2, '2006-10-26 10:34:20', NULL); INSERT INTO `categories` VALUES (48, NULL, 44, 3, '2006-10-26 10:34:28', NULL); INSERT INTO `categories` VALUES (49, NULL, 44, 4, '2006-10-26 10:34:36', NULL); INSERT INTO `categories` VALUES (50, NULL, 26, 1, '2006-10-26 10:34:57', NULL); INSERT INTO `categories` VALUES (51, NULL, 26, 2, '2006-10-26 10:35:05', NULL); INSERT INTO `categories` VALUES (52, NULL, 27, 1, '2006-10-26 10:35:57', NULL); INSERT INTO `categories` VALUES (53, NULL, 27, 2, '2006-10-26 10:36:05', NULL); INSERT INTO `categories` VALUES (54, NULL, 52, 1, '2006-10-26 10:36:19', NULL); INSERT INTO `categories` VALUES (55, NULL, 52, 2, '2006-10-26 10:36:25', NULL); INSERT INTO `categories` VALUES (56, NULL, 52, 3, '2006-10-26 10:36:36', NULL); INSERT INTO `categories` VALUES (57, NULL, 52, 4, '2006-10-26 10:36:44', NULL); INSERT INTO `categories` VALUES (58, NULL, 28, 1, '2006-10-26 10:37:02', NULL); INSERT INTO `categories` VALUES (59, NULL, 28, 2, '2006-10-26 10:37:09', NULL);
categories_description
CREATE TABLE `categories_description` ( `categories_id` int(11) NOT NULL DEFAULT '0', `language_id` int(11) NOT NULL DEFAULT '1', `categories_name` varchar(32) NOT NULL DEFAULT '', PRIMARY KEY (`categories_id`,`language_id`), KEY `idx_categories_name` (`categories_name`) ) ENGINE=MyISAM DEFAULT CHARSET=latin2; -- -- Zrzut danych tabeli `categories_description` -- INSERT INTO `categories_description` VALUES (24, 1, 'Kolczyki'); INSERT INTO `categories_description` VALUES (47, 1, 'Cyrkonia'); INSERT INTO `categories_description` VALUES (53, 1, 'Bez kamieni'); INSERT INTO `categories_description` VALUES (50, 1, 'Damskie'); INSERT INTO `categories_description` VALUES (55, 1, 'Cyrkonia'); INSERT INTO `categories_description` VALUES (45, 1, 'Bez kamieni'); INSERT INTO `categories_description` VALUES (42, 1, 'Inne'); INSERT INTO `categories_description` VALUES (43, 1, 'Syntetyczne'); INSERT INTO `categories_description` VALUES (33, 1, 'Bransolety'); INSERT INTO `categories_description` VALUES (34, 1, 'Broszki'); INSERT INTO `categories_description` VALUES (36, 1, 'Męskie'); INSERT INTO `categories_description` VALUES (37, 1, 'Na nogę'); INSERT INTO `categories_description` VALUES (23, 1, 'Broszki'); INSERT INTO `categories_description` VALUES (46, 1, 'Bursztyn'); INSERT INTO `categories_description` VALUES (52, 1, 'Z kamieniami'); INSERT INTO `categories_description` VALUES (49, 1, 'Syntetyczne'); INSERT INTO `categories_description` VALUES (40, 1, 'Bursztyn'); INSERT INTO `categories_description` VALUES (41, 1, 'Cyrkonia'); INSERT INTO `categories_description` VALUES (29, 1, 'Biżuteria sztuczna'); INSERT INTO `categories_description` VALUES (30, 1, 'Wisiory'); INSERT INTO `categories_description` VALUES (31, 1, 'Komplety'); INSERT INTO `categories_description` VALUES (32, 1, 'Pierścionki'); INSERT INTO `categories_description` VALUES (22, 1, 'Bransolety'); INSERT INTO `categories_description` VALUES (51, 1, 'Męskie'); INSERT INTO `categories_description` VALUES (48, 1, 'Inne'); INSERT INTO `categories_description` VALUES (54, 1, 'Bursztyn'); INSERT INTO `categories_description` VALUES (44, 1, 'Z kamieniami'); INSERT INTO `categories_description` VALUES (38, 1, 'Z kamieniami'); INSERT INTO `categories_description` VALUES (39, 1, 'Bez kamieni'); INSERT INTO `categories_description` VALUES (35, 1, 'Damskie'); INSERT INTO `categories_description` VALUES (26, 1, 'Łańcuszki'); INSERT INTO `categories_description` VALUES (27, 1, 'Wisiorki'); INSERT INTO `categories_description` VALUES (28, 1, 'Dewocjonalia'); INSERT INTO `categories_description` VALUES (21, 1, 'Ceramika w srebrze'); INSERT INTO `categories_description` VALUES (56, 1, 'Inne'); INSERT INTO `categories_description` VALUES (57, 1, 'Syntetyczne'); INSERT INTO `categories_description` VALUES (58, 1, 'Krzyże'); INSERT INTO `categories_description` VALUES (59, 1, 'Medaliki');
Z gory dziekuje za jakas podpowiedz jak to zrobic.
Mi póki co udało się oddzielić podkategorie od kategorii głównych.. ale do niczego dalej dojść nie mogę, choć ciągle probuje.
<? include("connect.php"); categories_id=$rekord[categories_id]"); if($rekord[parent_id]!='0'){ } } } ?>
efekt:
Bransolety
Broszki
Kolczyki
-Damskie
Łańcuszki
Wisiorki
Dewocjonalia
Biżuteria sztuczna
-Wisiory
-Komplety
-Pierścionki
-Bransolety
-Broszki
-Męskie
-Na nogę
-Z kamieniami
-Bez kamieni
-Bursztyn
-Cyrkonia
-Inne
-Syntetyczne
-Z kamieniami
-Bez kamieni
-Bursztyn
Ceramika w srebrze
-Cyrkonia
-Inne
-Syntetyczne
-Damskie
-Męskie
-Z kamieniami
-Bez kamieni
-Bursztyn
-Cyrkonia
-Inne
-Syntetyczne
-Krzyże
-Medaliki