|
84 / 84 / 8
Регистрация: 12.04.2010
Сообщений: 324
|
||||||
Двухуровневое меню17.02.2011, 13:45. Показов 5529. Ответов 12
Метки нет (Все метки)
Здравствуйте!
Делаю двухуровневое меню - html и css сгенерировал при помощи данного генератора - вроде симпотишно ![]() Конечно хочется чтобы меню создавалось динамически. Но вот конкретно как не могу додуматься. Предпологал что нужно сделать 2 таблицы, одну с заголовками разделов, вторую с пунктами определённого раздела и связать их через столбец. Но вот при выводе не знаю как быть... Нужно чтобы на выходе получилось такое:
Вместо ссылка,ссылка,ссылка,ссылка,ссылка,... - данные из второй таблицы Либо можно сделать всё в одной таблице, просто со столбцом sub, при sub=0 это заголовок, а при sub=1,2,3,4 и тд это дочерние элементы будут, где цифры 1,2,3,4 будут сообтветствовать id заголовка...
0
|
||||||
| 17.02.2011, 13:45 | |
|
Ответы с готовыми решениями:
12
Двухуровневое динамическое меню с подсветкой категории Двухуровневое меню |
|
960 / 801 / 85
Регистрация: 21.07.2010
Сообщений: 3,522
|
|||||||
| 17.02.2011, 14:31 | |||||||
0
|
|||||||
|
84 / 84 / 8
Регистрация: 12.04.2010
Сообщений: 324
|
||||||
| 17.02.2011, 16:04 [ТС] | ||||||
|
Уф, немного пока не понял как это мне поможет
![]() Предположим у меня в базе 2 таблица, первая - заголовки(родители) с название headers: id, title(название пункта), link(ссылка); вторая - childrens: id, parent(родительский элемент - по нему определяется вложенность), title(название пункта), link(ссылка). Я не догоняю как грамотно сформировать запросы и осуществить вывод. Предположим сделаю 2 запроса:
0
|
||||||
|
960 / 801 / 85
Регистрация: 21.07.2010
Сообщений: 3,522
|
||||||||||||
| 17.02.2011, 16:26 | ||||||||||||
|
смари, у меня была одна таблица, в которой есть id и parent (ну другие поля конечно).
те данные у которых parent = -1 -- это главные (т.е родители), а которые не равны -1, - дети. тож не мог додуматься, ф-ю нашел на каком то сайте. понимал что надо рекурсию применить, но не догонял как.. Добавлено через 1 минуту блин, забыл, что js надо подключать ))
подключать js если не знаешь надо так
0
|
||||||||||||
|
96 / 96 / 7
Регистрация: 14.02.2011
Сообщений: 238
|
||
| 17.02.2011, 16:40 | ||
|
и в-третьих зачем рекурсию, если известно что меню 2х уровневое и не больше... одно дело когда меню 5-тиуровненвое тогда да, смысл есть, а так хватит 2 циклов и 1 проверки
0
|
||
|
84 / 84 / 8
Регистрация: 12.04.2010
Сообщений: 324
|
||||||||
| 17.02.2011, 16:45 [ТС] | ||||||||
|
Допустим если с 1 таблицей делать, то на выходе получу такой массив:
0
|
||||||||
|
96 / 96 / 7
Регистрация: 14.02.2011
Сообщений: 238
|
|||||||||||
| 17.02.2011, 17:06 | |||||||||||
|
xand, смотри, создай 1 таблицу: id(auto_increment, p_key, int(10 - я думаю 10 значного числа тебе должно хватить)))), title(любого типа TEXT), link(любого типа TEXT), parent(int(10))
в parent если элемент верхнего уровня 0 или -1(как ту предлагали))) без разницы, если наследник тогда ID родительского элемента а потом делаешь так, я тебе концепцию напишу:
я написал с учетом что у родительских элементов parent = 0
0
|
|||||||||||
|
960 / 801 / 85
Регистрация: 21.07.2010
Сообщений: 3,522
|
|
| 17.02.2011, 17:06 | |
|
Tatsu_real, не спорю. на счет js - эт готовая библиотека.
на счет parent = -1, то это установка у меня в админке ). и уровней у меня было 3, с возможностью увеличивать до бесконечности (теоретически)
0
|
|
|
96 / 96 / 7
Регистрация: 14.02.2011
Сообщений: 238
|
|||
| 17.02.2011, 17:10 | |||
|
Добавлено через 1 минуту и лучше не надо AUTO_INCREMENT с 0 начинать... это не красиво как минимум))(столбец id)
0
|
|||
|
84 / 84 / 8
Регистрация: 12.04.2010
Сообщений: 324
|
|||
| 17.02.2011, 18:33 [ТС] | |||
|
Спасибо! Логика ясна. Вот только такой вопрос...с точки зрения ресурсоёмкости - не много ли будет это всё "кушать", в цикле делать запросы к базе, может подумать над вариком вытянуть всю таблицу в массив и уже с ним работать?
Добавлено через 2 минуты почему это ?
0
|
|||
|
96 / 96 / 7
Регистрация: 14.02.2011
Сообщений: 238
|
|||||||||||||
| 17.02.2011, 18:55 | |||||||||||||
|
а в моем варианте после возврата элемента mysql_fetch_assoc сразу идут действия с этими данными, т.е. в одном цикле делается 2 действия сразу, т.е. в 1 цикле возвращается 1 строчка, преобразовываясь в ассоциативную, и сразу с этими данными идет построения дерева Добавлено через 2 минуты Добавлено через 10 минут и кстати, на будущее, работа с данными в запросах MySQL, а не в коде ПХП, "облегчает" работу твоей системы, потому что Маська работает быстрее чем интерпретатор ПХП) и порой 1 правильный запрос к Маське может тебе заменить несколько строчек ПХП) для примера, что лучше
1
|
|||||||||||||
|
84 / 84 / 8
Регистрация: 12.04.2010
Сообщений: 324
|
|
| 17.02.2011, 18:58 [ТС] | |
|
Благодарствую
0
|
|
|
96 / 96 / 7
Регистрация: 14.02.2011
Сообщений: 238
|
|
| 17.02.2011, 19:02 | |
|
всегда пожалуйста)
0
|
|
| 17.02.2011, 19:02 | |
|
Помогаю со студенческими работами здесь
13
Левое двухуровневое меню Как делается двухуровневое меню?
Создать двухуровневое меню в Access 2007 Не получается правильно реализовать двухуровневое меню Искать еще темы с ответами Или воспользуйтесь поиском по форуму: |
|
Новые блоги и статьи
|
|||
|
Оттенки серого
Argus19 18.03.2026
Оттенки серого
Нашёл в интернете 3 прекрасных модуля:
Модуль класса открытия диалога открытия/ сохранения файла на Win32 API;
Модуль класса быстрого перекодирования цветного изображения в оттенки. . .
|
SDL3 для Desktop (MinGW): Рисуем цветные прямоугольники с помощью рисовальщика SDL3 на Си и C++
8Observer8 17.03.2026
Содержание блога
Финальные проекты на Си и на C++:
finish-rectangles-sdl3-c. zip
finish-rectangles-sdl3-cpp. zip
|
Символические и жёсткие ссылки в Linux.
algri14 15.03.2026
Существует два типа ссылок — символические и жёсткие.
Ссылка в Linux — это запись в каталоге, которая может указывать либо на inode «файла-ИСТОЧНИКА», тогда это будет «жёсткая ссылка» (hard link),. . .
|
[Owen Logic] Поддержание уровня воды в резервуаре количеством включённых насосов: моделирование и выбор регулятора
ФедосеевПавел 14.03.2026
Поддержание уровня воды в резервуаре количеством включённых насосов: моделирование и выбор регулятора
ВВЕДЕНИЕ
Выполняя задание на управление насосной группой заполнения резервуара,. . .
|
|
делаю науч статью по влиянию грибов на сукцессию
anaschu 13.03.2026
прикрепляю статью
|
SDL3 для Desktop (MinGW): Создаём пустое окно с нуля для 2D-графики на SDL3, Си и C++
8Observer8 10.03.2026
Содержание блога
Финальные проекты на Си и на C++:
hello-sdl3-c. zip
hello-sdl3-cpp. zip
Результат:
|
Установка CMake и MinGW 13.1 для сборки С и C++ приложений из консоли и из Qt Creator в EXE
8Observer8 10.03.2026
Содержание блога
MinGW - это коллекция инструментов для сборки приложений в EXE. CMake - это система сборки приложений. Здесь описаны базовые шаги для старта программирования с помощью CMake и. . .
|
Как дизайн сайта влияет на конверсию: 7 решений, которые реально повышают заявки
Neotwalker 08.03.2026
Многие до сих пор воспринимают дизайн сайта как “красивую оболочку”. На практике всё иначе: дизайн напрямую влияет на то, оставит человек заявку или уйдёт через несколько секунд.
Даже если у вас. . .
|