我已经创建了一个脚本,在截止日期结束后运行一次,截止日期已经结束查询将更新状态并使订阅到期但是到目前为止我遇到了故障问题,问题是我运行脚本它将状态更新为已过期我不知道因为它不应该运行查询
这是我的代码
<?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 :(得分: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);
}
}