每周执行一次php代码,但每天随机执行


Execute php code once a week, but random day

我正在做一个PHP促销活动,为存储在数据库中的商店提供折扣。每周一次,本周内的随机日期和时间,我需要运行一个sql查询并显示折扣券。

我正在寻找这样的东西:

if(once_a_week()){
show_discount_coupon();
}

这比我想象的要难,关于如何面对这个问题有什么建议吗?

我会在

数据库中生成每周的随机日期和时间,然后在您网站的代码中检查它。从数据库中的日期列表中获取第一个日期,并对其进行测试:

if $date_today == $next_coupon_date{ showCoupon(); }

在那一周之后,您删除此日期,您将使用下一个日期。 :)

这样,一旦创建了日期,您就再也不用担心任何事情了。

我找到了一种非常快速和肮脏的方法来做你想要的,但它不是很安全:

链接(在第三个响应中)

  1. 在数据库或配置文件中创建两个字段,例如"next_week_day","update_time";
  2. 在脚本中生成字段的值,

    $next_周_日 = 兰德(1,7);

3.检查脚本中的日期:

<?php
  if(date("N") == $next_week_day){
      show_discount_cuppon();
      if($update_time<time()){
         $update_time = time();
      }
    $next_week_day = rand(1,7);
  }
?>