Добавить данные, если текущий день равен последнему дню месяца ОДНАЖДЫ каждый месяц - PullRequest
1 голос
/ 05 февраля 2020

Я хочу обновить свои данные, если текущая дата равна последнему дню месяца, переменная отпуска будет обновляться +1 только один раз в месяц, но кажется, что когда я обновляю sh домашнюю страницу, которую она продолжает добавлять.

function get_leave() {
    $current_date = date('d'); // current date
    $lastDayOfMonth = date('t'); // last day of the month
    $leave = 1;
    $total_add_leave = 0;
    $query = $this->db->query('SELECT total_leave,user_id FROM user');
    foreach ($query->result_array() as $row) {
        if($current_date == $lastDayOfMonth) { //if current day is equal to last day of the month ADD 1
            $total_add_leave = $row['total_leave'] + $leave;
        }
        $this->db->set('total_leave',$total_add_leave);
        $this->db->where('user_id', $row['user_id']);
        $this->db->update('user'); 
    }
}

Ответы [ 2 ]

1 голос
/ 05 февраля 2020

Вы можете сделать это, как показано ниже:

    $current_date = date("y-m-d");
    $last_day_of_the_month = date("y-m-t", strtotime($current_date));

    if($current_date == $last_day_of_the_month) {
        $total_add_leave = $row['total_leave'] + 1;
        // database updating query must be placed in this condition
    }
0 голосов
/ 05 февраля 2020

С помощью этой функции вы найдете последнюю дату месяца "t показывает последнюю дату месяца"

date("Y-m-t");

, затем сравните с текущей датой

if(date("Y-m-d") == date("Y-m-t"))
{
  // write your logic here
}
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...