gpt4 book ai didi

PHP/MySQL : 30 day interval for pre-paid membership

转载 作者:行者123 更新时间:2023-11-29 00:03:38 24 4
gpt4 key购买 nike

我有一个成员(member)资格,每个用户每 30 天获得 100 个积分。所有成员(member)资格均需预先支付一到无限个月的费用。

我想每 30 天将积分余额重置为 100,无论用户是否使用他的积分。我不想使用任何 cronjob 或类似的东西。我想简单地检查用户登录网站的时间,如果他已经登录了当前的 30 天间隔,如果没有重置他的积分余额。

我的数据库中有一个时间戳,用于记录成员(member)到期日期和他上次登录的时间。

谁能给我计算公式?

我到目前为止:

$days = ($paid_until - $today) / 60 / 60 / 24;
$months = $days / 30;

echo "<pre>
Expires/ Renews in Days: $days
Expires/ Renews in Months: $months

最佳答案

我是这么想的。伪代码,您可以轻松将其转换为 PHP(未测试):

start transaction
if (last_reset_date not null)
{
days_since_reset = last_reset_date
}
else
{
// Handle the case where no reset has yet been performed
days_since_reset = now - sign_up_date
update last_reset_date to sign_up_date
}

months = floor(days_since_reset / 30)
if (months >= 1)
{
// Add in a reset for every missing month
for(month = 1 to months)
{
update last_reset_date += 30
store balance in log, month number reset
reset user balance to 100
}
}
end transaction

这里的想法是重置所有缺失的月份,即使这在一个多月内没有为特定用户运行——因此循环。

关于PHP/MySQL : 30 day interval for pre-paid membership,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/28531738/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com