Mam takie pytanko, mam takie tabele:
CREATE TABLE IF NOT EXISTS `cms_kategorie` ( `bf_id` bigint(20) UNSIGNED NOT NULL AUTO_INCREMENT, `nazwa` varchar(120) COLLATE utf8_unicode_ci DEFAULT NULL, `enable` char(1) COLLATE utf8_unicode_ci NOT NULL, UNIQUE KEY `id` (`bf_id`) ) ENGINE=MyISAM DEFAULT CHARSET=utf8 COLLATE=utf8_unicode_ci; CREATE TABLE IF NOT EXISTS `cms_podkategorie` ( `bf_id` bigint(20) UNSIGNED NOT NULL AUTO_INCREMENT, `nazwa` varchar(120) COLLATE utf8_unicode_ci DEFAULT NULL, `enable` char(1) COLLATE utf8_unicode_ci NOT NULL, `kategoria` int(11) NOT NULL, `podkategoria` int(11) NOT NULL, UNIQUE KEY `id` (`bf_id`) ) ENGINE=MyISAM DEFAULT CHARSET=utf8 COLLATE=utf8_unicode_ci REATE TABLE IF NOT EXISTS `cms_podpodkategorie` ( `bf_id` bigint(20) UNSIGNED NOT NULL AUTO_INCREMENT, `nazwa` varchar(120) COLLATE utf8_unicode_ci DEFAULT NULL, `enable` char(1) COLLATE utf8_unicode_ci NOT NULL, UNIQUE KEY `id` (`bf_id`) ) ENGINE=MyISAM DEFAULT CHARSET=utf8 COLLATE=utf8_unicode_ci
chciałbym w zbudować menu na zasadzie:
- kategoria
-- podkategorie
--- podpodkategorie
Czy da się to jakoś w 1 zapytaniu wyświetlić? Ew. w php?
Próbowalem czymś takim:
$tablicaAA = $ms->query_select("select bf_id, nazwa from cms_kategorie WHERE enable = '1' ORDER by nazwa ASC;"); foreach ($tablicaAA as $wynAA => $warttAA) { $tablicaB = $ms->query_select("select bf_id, nazwa, podkategoria from cms_podkategorie WHERE kategoria = '" . $warttAA['bf_id'] . "' and enable = '1' ORDER by nazwa ASC;"); foreach ($tablicaB as $wynB => $warttB) { $tablicaC = $ms->query_select("select bf_id, nazwa from cms_podpodkategorie WHERE bf_id = '" . $warttB['podkategoria'] . "' and enable = '1' ORDER by nazwa ASC;"); foreach ($tablicaC as $wynC => $warttC) { $tablicaa[] = array("name" => "<span></span><span></span>$warttC[nazwa]", "id" => $warttC['bf_id']); } } } } } }
Problem w tym, że w wyniku działania tego skryptu otrzymuję:
Kategoria
- podpodkategoria 1
- podkategoria 1
- podpodkategoria 1
- podkategoria 2
Czyli nie dość że nie wyświetla w poprawnej kolejności, to jeszcze powiela podpodkategorie

Ma ktoś pomysł na to może?
Northwest