unrealzero_php
Erfahrenes Mitglied
Hallo zusammen,
das nachfolgende Problem ergibt sich weil es sich um einen bestehendes Datendankmodell handelt welches nicht geändert werden kann.
Ziel: Anzeigen verschachtelter Kategorien
Problem: Es kann beliebige Ebenen 1 – 9 geben. Unterkategorien müssen angezeigt werden bis eine übergeordnete Kategorie den Status = 0 hat, dann dürfen alle unter dieser Ebene folgenden Kategorie-Einträge nicht mehr angezeigt werden.
Beispiel mit den folgenden Daten:
Sichtbar sollten folgende IDs sein:
1, 2, 6
Gibt es mittels MySQL eine Möglichkeit diese Information so abzurufen?
Hier der SQL-Dump:
das nachfolgende Problem ergibt sich weil es sich um einen bestehendes Datendankmodell handelt welches nicht geändert werden kann.
Ziel: Anzeigen verschachtelter Kategorien
Problem: Es kann beliebige Ebenen 1 – 9 geben. Unterkategorien müssen angezeigt werden bis eine übergeordnete Kategorie den Status = 0 hat, dann dürfen alle unter dieser Ebene folgenden Kategorie-Einträge nicht mehr angezeigt werden.
Beispiel mit den folgenden Daten:
Sichtbar sollten folgende IDs sein:
1, 2, 6
Gibt es mittels MySQL eine Möglichkeit diese Information so abzurufen?
Hier der SQL-Dump:
Code:
CREATE TABLE IF NOT EXISTS `tbl_category` (
`ID` int(11) NOT NULL AUTO_INCREMENT,
`FK_category` int(11) NOT NULL,
`category` varchar(255) COLLATE utf8_unicode_ci NOT NULL,
`status` tinyint(1) DEFAULT NULL,
PRIMARY KEY (`ID`)
) ENGINE=MyISAM DEFAULT CHARSET=utf8 COLLATE=utf8_unicode_ci AUTO_INCREMENT=6 ;
Code:
INSERT INTO `tbl_category` (`ID`, `FK_category`, `category`, `status`) VALUES
(1, 0, 'Ebene 1', 1),
(2, 1, 'Ebene 2', 1),
(3, 1, 'Ebene 2', 0),
(4, 3, 'Ebene 3', 1),
(5, 4, 'Ebene 4', 1),
(6, 2, 'Ebene 3', 1),
(7, 6, 'Ebene 4', 0),
(8, 7, 'Ebene 5', 1);