За последние 24 часа нас посетили 19300 программистов и 1605 роботов. Сейчас ищут 950 программистов ...

Система начисления бонусов

Тема в разделе "PHP и базы данных", создана пользователем Виталий837, 5 апр 2011.

  1. Виталий837

    Виталий837 Активный пользователь

    С нами с:
    15 мар 2011
    Сообщения:
    2
    Симпатии:
    0
    Адрес:
    m837@ukr.net
    Есть таблица base,в ней столбцы login,refer и bonus
    -
    При регистрации пользователь вводит свой логин,
    и логин пользователя(рефер) который призвал его на сайт.
    Следовательно, все вводится в поля login и refer.
    -
    Пользователь который был введен в поле refer
    тоже пользователь сайта,и имеет свою
    строку в БД где сам находится в поле login,
    а поле refer введен логин пользователя который
    призвал его и так далее...
    -
    Соответственно каждый пользователь может быть
    рефером для многих других пользователей.
    -
    Помогите сообразить скрипт начисления бонусов на php
    -
    Суть такова
    -
    Есть file.php который автоматически активируется
    с помощью cron один раз в день.
    -
    Скрипт должен
    У каждого пользователя снять со щета bonus единицу,
    и прибавить ее на щет bonus тому пользователю который
    записан у него в поле refer.
    -
    Выходит:
    Если у пользователь не является рефером ни для ни для одного
    пользователя системы, то он будет терять по одному балу в день.
    -
    Если он рефер для одного пользователя то значения bonus меняться не
    будет(один даем, один забираем)
    -
    А вот если пользователь рефер для многих то значение bonus будет рости.
    -
    Вот такова суть.
    -
    возможно нужно добавить еще столбцы в таблицу например id и т. п.
    -
    А так-же один нюанс,этот файл вносит изменения в таблицу,
    но есть и другой файл который тоже вносит изменения в туже
    таблицу что случится если оба файла начнут одновременно
    изменить одну и ту же строку(в механизме MySQL я слабоват)

    P.S: Извините за ошибки, ввод с экранной клавиатуры-одно наказание)
     
  2. Mr. T

    Mr. T Активный пользователь

    С нами с:
    10 ноя 2010
    Сообщения:
    733
    Симпатии:
    0
    Адрес:
    Украина, г. Киев
    Ищи в гугле по запросу "тригеры".
     
  3. igordata

    igordata Суперстар
    Команда форума Модератор

    С нами с:
    18 мар 2010
    Сообщения:
    32.408
    Симпатии:
    1.768
    ну если чел который логинится с рефером, успешно залогинился, то тому кто рефер бонус = бонус + 1 =)
    И ВСЕ

    а в полночь злой скрипт приходит по крону и У ВСЕХ отнимает по единичке. Разве не так?

    или ты хочешь строго перебрасывать туда-сюда? тогда выйдет сложнее и надо будет делать транзакции и проверять чтобы в минус не ушло.
     
  4. centnerik

    centnerik Активный пользователь

    С нами с:
    11 мар 2011
    Сообщения:
    32
    Симпатии:
    0
    Я думаю, что имеет смысл создать две таблицы: одна для всех зарегистрированных пользователей с полями: id, login, refer; и вторую с полями id_refer(равное полю id первой таблицы) и bonus.
    P.S. Еще наверное в первой таблице необходимо добавить поле regdate