Версия для печати темы
Нажмите сюда для просмотра этой темы в оригинальном формате
Форум программистов > PHP: Базы Данных > Стуктурный вывод данных


Автор: sayber 24.1.2008, 21:30
Начну с примера:

Структура БД: 
Код
 id | parentid | name


Данные в БД: 
Код

1 | 0 | Ссылка номер 1
2 | 0 | Ссылка номер 2
3 | 1 | Ссылка номер 3
4 | 0 | Ссылка номер 4
5 | 1 | Ссылка номер 5
6 | 1 | Ссылка номер 6
7 | 4 | Ссылка номер 7
8 | 4 | Ссылка номер 8
9 | 0 | Ссылка номер 9
10 | 2 | Ссылка номер 10
11 | 0 | Ссылка номер 11
12 | 0 | Ссылка номер 12
13 | 0 | Ссылка номер 13
14 | 0 | Ссылка номер 14


Вывод нужен в виде дерева но без тех данных где id и parentid не совпадают.

То есть результат:

Код

1 | 0 | Ссылка номер 1
     3 | 1 | Ссылка номер 3
     5 | 1 | Ссылка номер 5
     6 | 1 | Ссылка номер 6

2 | 0 | Ссылка номер 2
     10 | 2 | Ссылка номер 10

4 | 0 | Ссылка номер 4
     7 | 4 | Ссылка номер 7
     8 | 4 | Ссылка номер 8




Вроде раньше делал ... а теперь что то не получается (((

 smile   плз.

Автор: SelenIT 25.1.2008, 01:18
Цитата(sayber @  24.1.2008,  21:30 Найти цитируемый пост)
без тех данных где id и parentid не совпадают.

Что значит "не совпадают"? Они везде не совпадают. Верно ли я понял пример, что нужно отбросить "листья" (ветви без подветвей), "растущие прямо из корня" (с parentid=0)?

Имхо, проще всего воспользоваться http://forum.vingrad.ru/index.php?showtopic=147526&view=findpost&p=1188785 способом (пардон за нескромность;), только в цикл в рекурсивной ф-ции добавить еще условие проверки ($ParentID != 0 || isset($tree[$item["id"]])). Можно, конечно, и с запросом извратиться, заджойнив таблицу саму на себя (тем более, если вложенность заведомо ограничена двумя уровнями), http://forum.dklab.ru/viewtopic.php?p=71055#71055, но... имхо, незачем.

Автор: sayber 25.1.2008, 10:29
Можно по подробнее. Нечего не понял  smile 


M
MoLeX
sayber выражаемся по-русски!!


Автор: sayber 25.1.2008, 21:20
не кто не поможет?

Powered by Invision Power Board (http://www.invisionboard.com)
© Invision Power Services (http://www.invisionpower.com)