Автор Тема: ограничение на реффералов  (Прочитано 2522 раз)

0 Пользователей и 1 Гость просматривают эту тему.

Unregistered

  • Гость
ограничение на реффералов
« : 12 Августа 2002, 19:16:19 »
Здрасьте!
Проблема такова:
до меня не дойдёт, как сделать ограничение на реффералов, т.е.
в пирамиде с ограничением - не более 3 прямых рефов участник привлёк 4-ого, надо чтоб его респределили среди твоих рефов , причём чтоб он достался тому, у кого меньше всех прямых реффералов, если же у всех по три, то надо чтоб он достался одному из рефов 2-ого уровня, а если и у них у всех по три, то надо, чтоб он достался самому бедному рефу 3-ого уровня, а если такого не найдётся, то туже самую операцию провести с случайно выбранным рефов четвёртого уровня.

Плиз, помагите.

Оффлайн Макс

  • vir magni ingenii
  • Глобальный модератор
  • Ветеран
  • *****
  • Сообщений: 3534
  • +0/-0
  • 2
    • Просмотр профиля
ограничение на реффералов
« Ответ #1 : 12 Августа 2002, 19:31:27 »
а как база рефералов организована?
First learn computer science and all the theory. Next develop a programming style. Then forget all that and just hack. ( George Carrette )

Оффлайн Меняздесьдавнонет

  • новичЕк
  • Глобальный модератор
  • Ветеран
  • *****
  • Сообщений: 5698
  • +0/-0
  • 2
    • Просмотр профиля
    • http://
ограничение на реффералов
« Ответ #2 : 12 Августа 2002, 19:47:08 »
Мало того, что это чисто алгоритмический вопрос, прямого отношения к РНР не имеющий, мало того что пирамиды - сакс и честному человеку позорно ими заниматься, так еще и кросспостинг.
Впрочем, что еще ожидать от спамеров и нахлебников...

Оффлайн Ardzhan

  • Фанат форума
  • Постоялец
  • ***
  • Сообщений: 205
  • +0/-0
  • 0
    • Просмотр профиля
    • http://ardzhan.km.ru
ограничение на реффералов
« Ответ #3 : 12 Августа 2002, 19:49:00 »
Да еще и не зарегистрирован.

Unregistered

  • Гость
ограничение на реффералов
« Ответ #4 : 12 Августа 2002, 22:04:05 »
2Макс:
В базе есть поле ref - дитрибьютор
Я ставлю "Select * where ref=\'$result[login]\', где логин - логин участника и он у меня выводит список всех реффералов.
По тому же принципу инфа о рефах 2,3,4 уровня.

а единственное соображение, как сделать ограничение на реффов - создать поля ref1 (первый рефферал), ref2, ref3.
И так перебирать их, сначала у себя, потом у своих реффералов :( Скрипт получается ну очень грамосский, да и SQL запросов будет слишком много .

Unregistered

  • Гость
ограничение на реффералов
« Ответ #5 : 12 Августа 2002, 22:11:20 »
2romikChef:
Я не собираюсь ни кого кидать, хочу лишь помочь людям заработать.
Их никто не заставляет вступать в пирамиду. А если мне этот проект станет не выгодным, я просто перееду на бесплатный хостинг. Чё в этом плохого?

Оффлайн Макс

  • vir magni ingenii
  • Глобальный модератор
  • Ветеран
  • *****
  • Сообщений: 3534
  • +0/-0
  • 2
    • Просмотр профиля
ограничение на реффералов
« Ответ #6 : 13 Августа 2002, 00:05:13 »
Unregistered
Вообще с такой структурой БД на ум простого ничего не приходит.
Могу предложить изменить структуру. И построить ее по алгоритму Nested Sets (пирамида рефералов - это ведь фактически дерево). Добавить поле refs - которое будет иметь значение от 0 до 3 (количество непосредственных рефералов) и тогда ближайший рферал который имеет меньше трех своих рефералов будет найден примерно так:
SELECT ... FROM referals WHERE
left > $this_left AND
right < $this_right AND
num < 3
ORDER BY level ASC, left ASC LIMIT 0,1;
$this_left и $this_right - это поля left и right для текущего элемента
Инфа по алгоритму:
http://www.e-taller.net/dev/dbtree/



ЗЫ
Это все теоретически
First learn computer science and all the theory. Next develop a programming style. Then forget all that and just hack. ( George Carrette )

Unregistered

  • Гость
ограничение на реффералов
« Ответ #7 : 13 Августа 2002, 13:23:06 »
А как устанавливать поля left и right при реге нового юзера?

Оффлайн Макс

  • vir magni ingenii
  • Глобальный модератор
  • Ветеран
  • *****
  • Сообщений: 3534
  • +0/-0
  • 2
    • Просмотр профиля
ограничение на реффералов
« Ответ #8 : 13 Августа 2002, 17:33:16 »
по линку что я выше написал лежит класс для работы с деревьями и он автоматом вставляет эти поля и level
First learn computer science and all the theory. Next develop a programming style. Then forget all that and just hack. ( George Carrette )

 

Sitemap 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28