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

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



Спустя 4 часа, 17 минут, 3 секунды (6.04.2011 - 00:33) inpost написал(а):
Виталий837
Ну ты весь механизм расписал, что тут сложного? Прогнал всех пользователей ночью, когда все спят smile.gif
$res = mysql_query("SELECT COUNT(*) AS `cnt`,`refer` FROM `users` GROUP BY `refer`");
Теперь у тебя есть подсчет на каждого пользователя количество записей, осталось теперь сделать массовый UPDATE smile.gif
INSERT, UPDATE ON DUPLICATE

Спустя 5 часов, 37 минут, 16 секунд (6.04.2011 - 06:10) Виталий837 написал(а):
О как!
А по подробнее)

Спустя 4 минуты, 47 секунд (6.04.2011 - 06:15) inpost написал(а):
Виталий837
Давай так, а твоё решение какое? Что не получается? Как пробовал? Как посчитать я уже показал скриптом, так что я за тебя сделал 50% скрипта (если не считать настройку крона для запуска, но это индивидуально под хостинг смотреть надо)

Спустя 15 минут, 18 секунд (6.04.2011 - 06:30) Виталий837 написал(а):
Ну я через цикл for пробовал

а с sql пока на ВЫ(


Спустя 23 минуты, 45 секунд (6.04.2011 - 06:54) inpost написал(а):
Виталий837
$res = mysql_query();
while($row = mysql_fetch_assoc($res))
{
echo $row['cnt'].$row['refer'];
}

А вообще, стоит изучить запросы к БД и взаимодействие, почитай php.su , учебник Котерова, irbis-school.com , irbis-team.com
Быстрый ответ:

 Графические смайлики |  Показывать подпись
Здесь расположена полная версия этой страницы.
Invision Power Board © 2001-2024 Invision Power Services, Inc.