Доброго времени суток.
Или плохо искал, или нет такой темы.
Вопрос таков:
Имеем партнерку на 10 уровней. Задача посчитать общее количество рефералов у одного парнера. Например у меня
(нажмите Посмотреть реферальное дерево) Рефералы в первой линии я сосчитать могу. Но с расчетом общего количества, что-то я подтупливаю. Как этот цикл в функции на РНР написать? Или на JS, не важно. Важно получить цифру.
Отлично! Спасибо 🙂
Теперь та же задача еще раз, но другими словами:
У меня 3 реферала первой линии. Мы их сосчитали по Вашему методу, о чем я писал в своем первом посте. Идем дальше....
У меня есть рефералы 1,2 и 3.
У реферала 1 есть свои 2 реферала и у тех по одному.
У рефералов два и три тоже по одному.
Общее количество рефералов в моей сети 9.
Как мне это посчитать циклом? Может через рефлексию функции? Но я не пойму как мне числа сложить. Через рефлексию функции я получаю в строку набор чисел((( а нужна сумма этих чисел
Честно говоря, взялся писать данный код, тк самому интересна реализация.
function get_referalls_usernet($user_id){ global $wpdb; $all_ids = array(); $ids = $wpdb->get_col("SELECT referal FROM ".WP_PREFIX."prt_partners WHERE partner='$user_id'"); $all_ids = get_referalls_ids($ids); return $all_ids; } function get_referalls_ids($ids,$all_ids=false){ global $wpdb; if(!$all_ids) $all_ids = $ids; $refs = $wpdb->get_col("SELECT referal FROM ".WP_PREFIX."prt_partners WHERE partner IN (".implode(',',$ids).")"); if($refs){ $all_ids = array_merge($refs,$all_ids); return get_referalls_ids($refs,$all_ids); } return $all_ids; } //Получаем массив всех пользователей в сети определенного юзера $refs = get_referalls_usernet($user_id); //Считаем кол-во рефералов в сети пользователя $cnt = count($refs);
код не тестировал, но думаю, направление тут верное.