0
나는이 튜토리얼 http://sqllessons.com/categories.html을 발견하고 나는 그것이 재귀 호출보다 더 나은로 설명 된 방법을 사용하고 싶지만 나는 두 가지 문제가 있습니다범주와 하위 범주
가 어떻게 가장 깊은 수준을 알 수 있습니까? 어떤 페이지에서는 2를 가질 수도 있고 또 다른 페이지에서 20을 가질 수도 있습니다. 뭔가 빠졌거나이 방법은 당신이 가장 깊은 레벨의 이전 런타임을 알고있는 경우에만 사용될 수 있습니다!
CREATE TABLE `categories` (
`id` int(11) NOT NULL,
`position` int(11) DEFAULT NULL,
`parent_id` int(11) DEFAULT NULL,
PRIMARY KEY (`id`),
KEY `parent_id_fk` (`parent_id`),
CONSTRAINT `categories_ibfk_1` FOREIGN KEY (`parent_id`) REFERENCES `categories` (`id`)
) ENGINE=InnoDB DEFAULT CHARSET=utf8;
CREATE TABLE `categories_locale` (
`id` int(11) unsigned NOT NULL AUTO_INCREMENT,
`slug` varchar(100) NOT NULL DEFAULT '',
`name` varchar(40) NOT NULL DEFAULT '',
`category_id` int(11) NOT NULL,
`locale_id` smallint(5) NOT NULL,
PRIMARY KEY (`id`)
) ENGINE=InnoDB DEFAULT CHARSET=utf8;
가 당신의 도움이 크게
을 감상 할 수있다 :
해당 링크의 개요를 제공 할 수 있습니다. 조금 길기 때문에 대부분의 사람들은 질문에 대답하기 전에 그것을 읽지 않으려합니다. –
데이터베이스에 완전히 코딩 된 솔루션을 찾고 계십니까? 또한 참조하는 자습서는 알려진 깊이로 가정하고 결과 세트의 열 수는이 깊이에 따라 다릅니다. 깊이가 알려지지 않은 경우 두 열의 부모/자식 ID 만 반환하고 소비 코드는 동적 깊이를 처리해야합니다. 당신이 찾고있는 것을 분명히 할 수 있다면, 나는 더 많은 것을 도울 수있을 것입니다. –