- Поисковые системы
- Практика оптимизации
- Трафик для сайтов
- Монетизация сайтов
- Сайтостроение
- Социальный Маркетинг
- Общение профессионалов
- Биржа и продажа
- Финансовые объявления
- Работа на постоянной основе
- Сайты - покупка, продажа
- Соцсети: страницы, группы, приложения
- Сайты без доменов
- Трафик, тизерная и баннерная реклама
- Продажа, оценка, регистрация доменов
- Ссылки - обмен, покупка, продажа
- Программы и скрипты
- Размещение статей
- Инфопродукты
- Прочие цифровые товары
- Работа и услуги для вебмастера
- Оптимизация, продвижение и аудит
- Ведение рекламных кампаний
- Услуги в области SMM
- Программирование
- Администрирование серверов и сайтов
- Прокси, ВПН, анонимайзеры, IP
- Платное обучение, вебинары
- Регистрация в каталогах
- Копирайтинг, переводы
- Дизайн
- Usability: консультации и аудит
- Изготовление сайтов
- Наполнение сайтов
- Прочие услуги
- Не про работу
Авторизуйтесь или зарегистрируйтесь, чтобы оставить комментарий
Доброго времени суток,
Я сразу к делу. Имеем таблицу следующей структуры:
---------------------------------------------------------------
group_id | level_id | name
---------------------------------------------------------------
Где:
group_id: ID группы. Может принимать значения либо 1 либо 0. Если значение равно 1, значит находимся в папке (не важно какого уровня). Если 0, значит в текущей строке элемент, который в папке.
level_id: Уровень. Принимает значения от 1 до 3, где значения 1 и 2 означают папки, 3 - элемент.
name: Наименование.
Ещё раз: структура такая:
--Папка 1 [1, 1]
----Папка 2 [1, 2]
------Элемент 1 [0, 3]
------Элемент 2 [0, 3]
------Элемент 3 [0, 3]
------Элемент 4 [0, 3]
----Папка 3 [1, 2]
------Элемент 5 [0, 3]
------Элемент 6 [0, 3]
------Элемент 7 [0, 3]
--Папка 4 [1, 2]
------Элемент 8 [0, 3]
------Элемент 9 [0, 3]
В квадратных скобках левое число означает group_id, правое - level_id.
Вот.... это было предисловие....
Всю эту структуру надо вывести в виде дерева. Всё понимаю, что тип дерева нестандартный, что есть там списки смежности, вложенные множества и т.д. и т.п..... но структура именно такая, обсуждению и пересмотру не подлежит. И вывести в виде дерева нужно именно так, как представлено...
Буду благодарен за любую помощь от уважаемых форумчан :)
А по-русски? Формат:
Исходные данные, желаемый результат, вопрос.
Если я правильно понимаю что имелось в виду, то:
к таблице прибавляется id (primary элемента), parent_id (к кому относимся), weight(положение, если не подходит стандартная сортировка), name (собственно, текст).
При этом group_id и level_id не используются. На основании только их - построить дерево невозможно.
Выбрать все дерево в массив, а потом рекурсивно его отсортировать. Это ж похапе, да?
----Папка 2 [1, 2]
----Папка 3 [1, 2]
--Папка 4 [1, 2]
имеют равные ид при разной вложенности. поэтому я думаю не получится сделать из этого дерево.
имеют равные ид при разной вложенности. поэтому я думаю не получится сделать из этого дерево.
Это очевидно. Тут куда более интересный вопрос - что же на самом деле имел в виду автор?🙄
Тем более, что при такой структуре не получится как-либо настраивать дерево - переносить пункты, сортировать..
Господа, что там не понятного? Смотрим например:
Комбинация 5-0-3 - уникальная, так же и остальные элементы имеют отличные друг от друга индексы. Дерево строится на ура. )))
tester999, а можно в коде и с реальными данными на ура?
имена (элемент 5) никак не привязан к какой-то группе. да, его выведешь на третьем уровне, укажешь что это файл, а не папка. и все. вкакую группу его пристроить в дереве?
в коде - лениво.
Объясню на пальцах... Грубо говоря, создаем еще одну таблицу, куда вносим принадлежность Элемента той или иной Папке (и принадлежность Папки другой Папке тоже вносим). Потом джойнами вытягиваем все в массив и строим дерево... Да, вот так...)) А вообще ТС-у нужно задания на лабораторную работу тщательнее списывать. )))
Нет такой комбинации. "Элемент 5" это просто имя, которое в реальности будет ababagalamaga. И оно, кстати, тоже должно где-то храниться..
Просто принадлежность тоже не катит, ибо как ты собираешься менять порядок следования элементов?
но структура именно такая, обсуждению и пересмотру не подлежит.
Грубо говоря, создаем еще одну таблицу,
уже новый способ изобрел?
Господа, зачем я там смайлов понаставлял? После ваших ответов №4 и №5 было всем ясно, что "дерево там такое". Не ломайте голову, ТС сегодня точно перепишет задание лабы и тогда будем думать.