2017-02-27 66 views
0

我已经创建了一个脚本,在截止日期结束后运行一次截止日期结束后,查询将更新状态并过期订阅,但截至目前,我遇到了故障问题,问题是这WEH我运行脚本,它更新状态以过期,我不知道,因为它不应该运行查询在截止日期后运行脚本

这里是我的代码

<?php 
    if($user_data['subscription'] == 'Activated'): 
     $sql_chk = $this->db->get_where('payment_trans', array('user_id' => $user_data['id'])); 
     $date_payed = $sql_chk->row()->date_payed; 
     $d_get  = new DateTime($date_payed); 
     $d_get->modify('+1 year'); 
     $new_year = $d_get->format('m-d-Y'); 
     $crnt_year = time(); 

     if($crnt_year > strtotime($new_year)) { 
      $data = array(
       'subscription' => 'Expired' 
      ); 

      $this->db->where('id', $user_data['id']); 
      $this->db->update('users', $data); 
     } 
    endif; 
?> 
+0

唐不会将日期转换为文本来执行ma部份。 –

+1

你想创建cron作业脚本和设置时间 –

+0

,但是当我不转换然后逻辑不工作我 –

回答

1

请试试这个。希望它有助于

 $current_date = date("Y-m-d H:i:s"); 
     if($user_data['subscription'] == 'Activated') 
     { 
      $sql_chk = $this->db->where('date_payed <', $current_date)->where('user_id', $user_data['id']) 
           ->get('payment_trans'); 

      if ($sql_chk->num_rows() > 0) { 
       $data = array(
        'subscription' => 'Expired' 
       ); 
       $this->db->where('id', $user_data['id']); 
       $this->db->update('users', $data); 
      } 
     }