![]() |
|
||||||||||
|
|||||||
|
|
« Предыдущая тема | Следующая тема » |
| Опции темы | Опции просмотра |
|
![]() |
![]() |
|
|||||
|
Здравствуйте
Задача, казалось бы, несложная, но я в ступоре Нисходящее древо нужно получить Приходит ХМЛ с данными в виде <person>
<id>3</id>
<user_id>74</user_id>
<level>-1</level>
<father_id>572</father_id>
<mother_id>573</mother_id>
<cart_surname>Фамилия</cart_surname>
<cart_name>Имя</cart_name>
<cart_middlename>Отчество</cart_middlename>
<cart_mername/>
<cart_sex>2</cart_sex>
<cart_photo>27_10_2010_2c70da19a6e8cd0e.jpg</cart_photo>
<cart_info>инфа</cart_info>
<cart_born>29.11.1965</cart_born>
<cart_dead/>
<merry>424</merry>
<live>1</live>
<siteuser>0</siteuser>
<onsite>0</onsite>
</person>
<person>
<id>4</id>
<user_id>74</user_id>
<level>0</level>
<father_id>424</father_id>
<mother_id>425</mother_id>
<cart_surname>Фамилия</cart_surname>
<cart_name>Имя</cart_name>
<cart_middlename>Отчество</cart_middlename>
<cart_mername/>
<cart_sex>1</cart_sex>
<cart_photo>27_10_2010_dca68b639793a8ab.jpg</cart_photo>
<cart_info>инфа</cart_info>
<cart_born>02.05.1987</cart_born>
<cart_dead/>
<merry>0</merry>
<live>1</live>
<siteuser>0</siteuser>
<onsite>0</onsite>
</person>
Я принимаю ее LEVEL (ввел переменную) за 0 Card - это мувиклим карточки текущей начинаю рекурсию с LEVEL=0 функция Рекурсия(num,lev) CardUpLevel=lev-1; CardDownLevel=lev+1; 1. В функцию пришел id карточки 2. Сначала смотрю, не выводил ли ее раньше, чтобы дважды не выводить. если не выводилась - располагаю в текущем месте. Card.x=MC.StartPoint.x; Card.y=MC.StartPoint.y+Card.height*Card.Level; 3. Смотрю детей, на каждом вызываем функцию рекурсии с п.1. Рекурсия(id ребенка,downLevel) 4. Смотрю мать, рекурсию на ней запускаю Рекурсия(id матери,upLevel) 5. Смотрю супруга, если есть, запуска рекурсию Рекурсия(id супруга, upLevel) 6. Смотрю отца, запускаю рекурсию на нем Рекурсия(id отца,upLevel) То есть все карточки одного уровня находятся после рекурсии у меня на одной У И теперь самое интересное для меня 2 дня уже не могу расположить карточки так, чтобы дети были под родителями по Х (а детей может быть несколько) и родители родителей были по Х возле них Ситуация для меня усложняется еще и тем, что у разных пар могут быть как общие дети, так и дети от других браков Натолкните кто-нибудь на мысль, пожалуйста |
![]() |
![]() |
Часовой пояс GMT +4, время: 09:27. |
|
|
« Предыдущая тема | Следующая тема » |
|
|