【问题标题】:Change the value after expiration date PHP MYSQL更改过期日期 PHP MYSQL 后的值
【发布时间】:2016-01-13 09:06:46
【问题描述】:

我是 PHP MySQL 的初学者,我有系统,在您注册/添加客户信息后,它会在 30 天后更改状态。

场景
在我的添加客户页面中,我有日期开始、到期日期和状态等表单。

开始日期 - 自动设置今天的日期
过期 - 自动设置开始日期 + 30 天
过期2 -自动设置过期日期 + 90 天
Status - 客户的状态(如果是新注册,则状态值将是 FRESH 如果在 30 天之后 如果在 90 天 之后状态将更改为 DORMANT,则状态将更改为 INACTIVE

这是我的 dateStartdateExpireddateExpired2 的代码,但我不知道如何编写 status 进程。

$dateStart= Date('Y-m-d');
$dateExpired = date('Y-m-d', strtotime($dateStart. ' + 30 days'));
$dateExpired2 = date('Y-m-d', strtotime($dateExpired2. ' + 90days'));

echo '<input type="text" name= "dateStart" value="'. $dateStart.'"/>';
echo '<input type="text" name= "dateExpired" value="'. $dateExpired .'"/>';

【问题讨论】:

  • 您可以设置一个每天晚上检查日期差异的 cron。如果相差 30 天,请更改状态。
  • @NiranjanNRaju 对不起,我是初学者,不知道该怎么做。
  • 具体如何取决于您的机器。 windowslinux.

标签: php mysql date


【解决方案1】:

触发一个 cron 作业。

  • 您应该在 .php 文件中编写代码,以执行您需要的操作(如果日期已超过 30 天或 90 天,则更改状态)
  • 您应该确保,您的文件没有任何与之相关的会话。

我添加了以下图片,请参考

我添加了一个每天运行一次的 cron。在您的服务器中,它看起来像这样。

【讨论】:

  • 您应该按照@tkav 的建议编写代码,并为该页面设置一个每天晚上 12 点自动运行的 cron。
  • 在哪里可以找到这个 CRON?
  • PHPMyAdmin 中也有?
  • 不... cron 只在 cpanel 上,
  • 还有其他可能的答案吗? @Tkav 有一个很好的答案,但我不知道如何尝试 DORMANTINACTIVE。谢谢。
【解决方案2】:

如果您按预定时间间隔运行这样的脚本,它可以自动更新您的用户状态':

$dateStart= date('Y-m-d');
$dateExpired = date('Y-m-d', strtotime($dateStart. ' + 30 days'));
$dateExpired2 = date('Y-m-d', strtotime($dateStart. ' + 90days'));

$status = "FRESH";

if(strtotime($dateStart)<strtotime('-30 days')){
   $status = "INACTIVE";
}

if(strtotime($dateStart)<strtotime('-90 days')){
   $status = "DORMANT";
}

//Run sql update query to set status

sql更新查询见here

【讨论】:

  • 谢谢,但我怎么知道休眠和非活动状态是否有效?
  • 将 $dateStart 更改为类似“2015-04-01”的日期并回显 $status
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 2019-06-22
  • 1970-01-01
  • 1970-01-01
  • 2017-04-14
  • 1970-01-01
  • 2017-10-01
  • 1970-01-01
相关资源
最近更新 更多