【发布时间】:2015-02-15 22:05:59
【问题描述】:
我有一个会员资格,每位用户每 30 天获得 100 个积分。所有会员资格均需预付一到无限个月的费用。
无论用户是否使用了他的积分,我都想每 30 天将积分余额重置为 100。我不想使用任何 cronjob 或类似的东西。我想简单地检查用户何时登录网站,如果他已经登录了当前的 30 天间隔,如果没有重置他的积分余额。
我的数据库中有会员到期日期和他上次登录时间的时间戳。
谁能给我计算公式?
到目前为止:
$days = ($paid_until - $today) / 60 / 60 / 24;
$months = $days / 30;
echo "<pre>
Expires/ Renews in Days: $days
Expires/ Renews in Months: $months
【问题讨论】:
-
一个cron实际上是理想的。我会每天运行 cron,并为每个用户设置一个
started_at日期,这样在一个月中开始的用户不会在其会员资格的开始和结束时获得半个月。然后,您可以按每个用户计算。 -
您想为每个用户分配额外的 100 个积分,还是只是将他们的积分设置为 100 而不管他们帐户中的积分数是多少?如果是后者,如果他们有超过 100 个学分会发生什么 - 你可以接受他们失去学分吗?
-
此问答stackoverflow.com/q/11195130 可能会有所帮助。它基于 3 个月,但修改它应该不会有任何问题。
-
@halfer:您的假设是 100% 正确的。无论如何,余额都需要重置为100。但是我不想使用 cron。
-
@Fred-ii- 现在检查一下