Бинарное дерево для сетевого маркетинга
Нужно написать модуль для сайта
Условия:
- Бинарное дерево состоящее из 31 ячейки;
- Каждый пользователь видит себя на топе (уровень 1, позиция 1)
- Кол-во пользователей на каждом уровне ( 1 уровень: 1, 2 уровень: 2, 3 уровень: 4, 4 уровень: 8, 5 уровень: 16);
- При заполнении 31 ячейки(5уровень, 31 позиция) первому пользователю пополняется баланс на 5000единиц
- Заполняется дерево по родству, встает там где его ближайший родственник
Требования:
- Код интуитивно понятен и написан в ООП
- БД чтобы была не нагружена информацией
- Запросы в БД оптимизированны
- Сроки: 24 часа
База:
CREATE TABLE IF NOT EXISTS `binar_tmp` (
`id` int(11) NOT NULL AUTO_INCREMENT,
`user_id` int(11) NOT NULL,
`level` int(11) NOT NULL,
`parent_id` int(11) NOT NULL,
`child_1` int(11) NOT NULL,
`child_2` int(11) NOT NULL,
`position` int(11) NOT NULL,
PRIMARY KEY (`id`)
) ENGINE=MyISAM DEFAULT CHARSET=cp1251 AUTO_INCREMENT=8 ;