Каким образом осуществить внутренний баланс пользователей?
Добрый день, на сайте есть клиенты, у клиентов есть тариф, который действует от одной даты до другой, необходимо показывать текущий баланс пользователя, учитывая что каждый день снимается плата равная = тариф/кол-во дней в период. Т.е. при указание периода в 7 дней и стоимости в 70 рублей, на первый день баланс равен 70, на второй 60 и т.д.
Как правильно хранить этот баланс? Каждый раз высчитывать его при выводе или скрипт в планировщике задач писать или же какой то триггер в sql?
Для правильного вопроса надо знать половину ответа
В виде журнала транзакций (приход/расход) отдельной таблицей и дополнительного поля "баланс" в основной таблице. Дополнительное поле менять триггером AFTER INSERT из таблицы транзакций.
Периодические списания выполнять отдельным скриптом, запускаемым из cron.
Тебе ведь все равно понадобится статистика - куда ушли чьи деньги, чтобы пользователям отвечать. Таблицей приходорасходной - как в бухгалтерии. Каждый день планировщик (cron) считает сколько снять с каждого, записывает в эту таблицу и, по желанию, обновляет баланс.
Можно и в момент отдачи страницы делать сумму всех операций и изначальной цифры, но со временем количество операций будет таким большим, чтобы будет вызывать серьезную проблему.