|
5 / 5 / 0
Регистрация: 29.09.2010
Сообщений: 18
|
||||||
Проектирование структуры таблицы и фунция вывода дерева категорий18.10.2014, 11:12. Показов 2354. Ответов 7
Метки нет (Все метки)
Здравствуйте!
Есть необходимость отображать в древовидном виде структуру категорий определенных товаров на сайте интернет магазина. Предполагается, что на сайте может отображаться не все дерево категорий товаров, а только его часть (одна из веток). Нужно спроектировать структуру таблицы для хранения дерева категорий и написать небольшую функцию, которая выведет ветку категорий в виде HTML-списка. Входным параметром для функции должен быть идентификатор категории, с которой необходимо построить ветку. Получилось реализовать данную задачу через рекурсивную функцию. Но для того, чтобы выводилась одна из веток нужно указывать id и id_parrent в sql-запросе, а по заданию входным параметром должен быть id категории, с которой нужно построить ветку. Как это реализовать? Таблица categories:
0
|
||||||
| 18.10.2014, 11:12 | |
|
Ответы с готовыми решениями:
7
Обработка дерева категорий Реализация дерева категорий Квадратичная фунция для хэш-таблицы |
|
5 / 5 / 0
Регистрация: 29.09.2010
Сообщений: 18
|
|
| 18.10.2014, 12:03 [ТС] | |
|
Извиняюсь за опечатку в заголовке.
0
|
|
|
Марсианин
87 / 87 / 22
Регистрация: 11.10.2012
Сообщений: 333
|
||||||
| 19.10.2014, 01:07 | ||||||
0
|
||||||
|
5 / 5 / 0
Регистрация: 29.09.2010
Сообщений: 18
|
||||||||||||||||||||||
| 19.10.2014, 13:48 [ТС] | ||||||||||||||||||||||
|
Спасибо за ответ.
Потому-что если просто при вызове функции указать parent_id, н-р, 1, то выводится ветка с подкатегориями первой категории, а сама корневая категория нет, т. е., если
0
|
||||||||||||||||||||||
|
Марсианин
87 / 87 / 22
Регистрация: 11.10.2012
Сообщений: 333
|
||||||||||||
| 19.10.2014, 15:02 | ||||||||||||
Сообщение было отмечено _olovo_ как решение
Решение
Добавлено через 12 минут спрашивайте, что не ясно - объясню
1
|
||||||||||||
|
5 / 5 / 0
Регистрация: 29.09.2010
Сообщений: 18
|
||||||
| 19.10.2014, 18:10 [ТС] | ||||||
array(1) { [0]=> array(1) { ["name"]=> string(20) "Категория 2" } } Пробовала вставить getCategoryThree () в function print_categories. Не выходит. Как получить древовидный список из этого дампа?
0
|
||||||
|
Марсианин
87 / 87 / 22
Регистрация: 11.10.2012
Сообщений: 333
|
||||
| 19.10.2014, 22:57 | ||||
|
Рекурсивная ф-ция getCategoryThree берет категорию и ищет ее родителей и родителей родителей и т.д. пока не найдет категорию которая не будет иметь родителей. Насколько я понял это и требовалось
1
|
||||
|
5 / 5 / 0
Регистрация: 29.09.2010
Сообщений: 18
|
|
| 20.10.2014, 00:43 [ТС] | |
|
Спасибо за такой подробный ответ. Очень доходчиво =)
0
|
|
| 20.10.2014, 00:43 | |
|
Помогаю со студенческими работами здесь
8
Удаление дерева категорий
Рекурсия: формирование дерева категорий Код для дерева категорий
Искать еще темы с ответами Или воспользуйтесь поиском по форуму: |
|
Новые блоги и статьи
|
|||
|
SDL3 для Web (WebAssembly): Обработчик клика мыши в браузере ПК и касания экрана в браузере на мобильном устройстве
8Observer8 02.02.2026
Содержание блога
Для начала пошагово создадим рабочий пример для подготовки к экспериментам в браузере ПК и в браузере мобильного устройства. Потом напишем обработчик клика мыши и обработчик. . .
|
Философия технологии
iceja 01.02.2026
На мой взгляд у человека в технических проектах остается роль генерального директора. Все остальное нейронки делают уже лучше человека. Они не могут нести предпринимательские риски, не могут. . .
|
SDL3 для Web (WebAssembly): Вывод текста со шрифтом TTF с помощью SDL3_ttf
8Observer8 01.02.2026
Содержание блога
В этой пошаговой инструкции создадим с нуля веб-приложение, которое выводит текст в окне браузера. Запустим на Android на локальном сервере. Загрузим Release на бесплатный. . .
|
SDL3 для Web (WebAssembly): Сборка C/C++ проекта из консоли
8Observer8 30.01.2026
Содержание блога
Если вы откроете примеры для начинающих на официальном репозитории SDL3 в папке: examples, то вы увидите, что все примеры используют следующие четыре обязательные функции, а. . .
|
|
SDL3 для Web (WebAssembly): Установка Emscripten SDK (emsdk) и CMake для сборки C и C++ приложений в Wasm
8Observer8 30.01.2026
Содержание блога
Для того чтобы скачать Emscripten SDK (emsdk) необходимо сначало скачать и уставить Git: Install for Windows. Следуйте стандартной процедуре установки Git через установщик. . . .
|
SDL3 для Android: Подключение Box2D v3, физика и отрисовка коллайдеров
8Observer8 29.01.2026
Содержание блога
Box2D - это библиотека для 2D физики для анимаций и игр. С её помощью можно определять были ли коллизии между конкретными объектами. Версия v3 была полностью переписана на Си, в. . .
|
Инструменты COM: Сохранение данный из VARIANT в файл и загрузка из файла в VARIANT
bedvit 28.01.2026
Сохранение базовых типов COM и массивов (одномерных или двухмерных) любой вложенности (деревья) в файл, с возможностью выбора алгоритмов сжатия и шифрования.
Часть библиотеки BedvitCOM
Использованы. . .
|
SDL3 для Android: Загрузка PNG с альфа-каналом с помощью SDL_LoadPNG (без SDL3_image)
8Observer8 28.01.2026
Содержание блога
SDL3 имеет собственные средства для загрузки и отображения PNG-файлов с альфа-каналом и базовой работы с ними. В этой инструкции используется функция SDL_LoadPNG(), которая. . .
|