![]() |
|
Модераторы: skyboy, MoLeX, Aliance, ksnk |
![]()
|
|
| Артем125 |
|
|||
|
Шустрый ![]() Профиль Группа: Участник Сообщений: 149 Регистрация: 2.9.2009 Репутация: нет Всего: нет |
Привет всем
дано дерево для примера в прикрепленном файле его необходимо обойти, получая каждую ветку, затем отображать в указанном ниже порядке. 39 | -----41 | |-----48 | |-----52 |------54 |------53 ------42 ------43 |-------60 думаю так сделать: одним запросом вытаскиваю самую левую ветку
запоминаю значения в массив 39 41 58 52 54 далее вытаскиваю следующую ветку, сравниваю значения с массивом и вывожу те значения (53), что нет в массиве, и т.д. Правильный ли ход мыслей? и !!!!Вопрос 2!!! Посмотрите на sql запрос. если средствами php формировать вот эти строки LEFT JOIN ".TABLE_SECTIONS." AS t3 ON t3.sections_parent = t2.sections_parent до тех пор, пока ветка не пройдена до конца, то как узнать в этом запросе сколько таких строк надо? Присоединённый файл ( Кол-во скачиваний: 13 )
_______1.gif 3,15 Kb |
|||
|
||||
| solenko |
|
|||
|
Эксперт ![]() ![]() ![]() Профиль Группа: Завсегдатай Сообщений: 1473 Регистрация: 15.1.2006 Где: Украина Репутация: 34 Всего: 67 |
Т.к. нужо обойти все дерево, то рационально выбирать ВСЕ данные одним запросом и обрабатывать уже на стороне php.
-------------------- Ла-ла-ла-ла Заметьте, нет официального подтверждения, что это не просто четыре слога. |
|||
|
||||
| Артем125 |
|
|||
|
Шустрый ![]() Профиль Группа: Участник Сообщений: 149 Регистрация: 2.9.2009 Репутация: нет Всего: нет |
Тогда впринципе мой запрос подходит, только не знаю как узнать сколько таких LEFT JOIN ".TABLE_SECTIONS." AS t3 ON t3.sections_parent = t2.sections_parent строк формировать или может как то по другому все данные выцепить в массив?
Это сообщение отредактировал(а) Артем125 - 28.9.2009, 11:01 |
|||
|
||||
| Ипатьев |
|
|||
|
Эксперт ![]() ![]() ![]() ![]() Профиль Группа: Завсегдатай Сообщений: 2232 Регистрация: 5.7.2009 Репутация: 28 Всего: 37 |
SELECT * FROM table_sections
|
|||
|
||||
| capitan |
|
|||
![]() Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 602 Регистрация: 27.2.2005 Где: Москва Репутация: 9 Всего: 13 |
Артем125,
"Дерево каталогов NESTED SETS (вложенные множества) и управление им " http://www.getinfo.ru/article610.html Все остальные варианты хороши на маленьких объёмах. При больших объёмах, скрипты еле ворочаются. |
|||
|
||||
| Ипатьев |
|
|||
|
Эксперт ![]() ![]() ![]() ![]() Профиль Группа: Завсегдатай Сообщений: 2232 Регистрация: 5.7.2009 Репутация: 28 Всего: 37 |
при больших ставках ворочаются, как раз NESTED SETS
|
|||
|
||||
| capitan |
|
|||
![]() Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 602 Регистрация: 27.2.2005 Где: Москва Репутация: 9 Всего: 13 |
Ипатьев, Делал каталог товаров с вложенностью категорий. После использования NESTED SETS , все стало гораздо шустрее работать. Кстати в статье куча ошибок в запросах. Пришлось многое переписывать. Единственное что пока не успел реализовать - это сортировку категорий. Не до неё
|
|||
|
||||
| Ипатьев |
|
|||
|
Эксперт ![]() ![]() ![]() ![]() Профиль Группа: Завсегдатай Сообщений: 2232 Регистрация: 5.7.2009 Репутация: 28 Всего: 37 |
"все стало шустрее работать" - это совсем не показатель.
сделал машину на дровах. после этого пересел на велосипед - стало гораздо шустрее! если кое-кто не умеет делать машины, то это совсем не означает, что они в принципе медленнее велосипеда. а еще есть мнение, что сами товары и каталог с разделами можно не класть в одну таблицу. и дерево волшебным образом станет маленьким. |
|||
|
||||
| capitan |
|
|||
![]() Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 602 Регистрация: 27.2.2005 Где: Москва Репутация: 9 Всего: 13 |
Ипатьев, товары от категорий разделены. Вложенность присутствует у таблицы с категориями. Вот их в админке и нужно выводить, чтобы работать. Причем вложенность не ограничена. По-этому из всех вариантов, выбрал все таки NESTED SETS. Все дерево обходится одним запросом SELECT безовсяких JOIN и UNION.
|
|||
|
||||
| Ипатьев |
|
|||
|
Эксперт ![]() ![]() ![]() ![]() Профиль Группа: Завсегдатай Сообщений: 2232 Регистрация: 5.7.2009 Репутация: 28 Всего: 37 |
||||
|
||||
![]()
|
| Правила форума "PHP" | |
|
|
Новичкам:
Важно:
Внимание:
Если Вам понравилась атмосфера форума, заходите к нам чаще! С уважением, IZ@TOP, skyboy, SamDark, MoLeX, awers. |
| 0 Пользователей читают эту тему (0 Гостей и 0 Скрытых Пользователей) | |
| 0 Пользователей: | |
| « Предыдущая тема | PHP: Общие вопросы | Следующая тема » |
|
|
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности Powered by Invision Power Board(R) 1.3 © 2003 IPS, Inc. |