Ответы пользователя по тегу Laravel
  • Как php (в частности на Laravel) сайты осуществляют события при наступлении нужных даты/времени?

    Не могу сказать точно, что поняла суть вопроса, но если речь идёт о событиях в определённое время, то можно использовать такой вариант:

    Вместо проверки точной даты и времени
    ( " if ($date == ... ) " )
    нужно использовать, чтобы дата проверялась как-бы "поверх" нужного значения

    То есть, задана, например, дата выполнения задачи 15 сентября в 6:00.
    В MySQL записываем это DATETIME вместе, либо в отдельной ячейке год, отдельно час и так далее

    Как только Пользователь заходит на сайт, мы сверяем не дату с датой, а если месяц больше указанного месяца, если год больше указанного года и так далее:

    // Получаем текущую дату
    $Y = date("Y");
    $m = date("m");
    $d = date("d");
    
    // Из запроса MySQL Select берём дату мероприятия
    $event_year = $myrow['year'];
    ...
    
    if ($event_year < $Y || $event_month < $m || $event_day < $d) {
    echo 'Событие "Капитаны" уже проводится/проводилось';
    }


    Если Вы записывали в MySQL дату целиком, то всё то-же самое, только обрезаем её

    $event_date = $myrow['date'];
                
    $event_year = substr($event_date, 0, 4);
    $event_month = substr($event_date, 5, 2);
    $event_day = substr($event_date, 8, 2);


    Это НЕ работает:
    Если надо высылать уведомление о начале события на Емейл и подобное.

    Когда Пользователь заходит на сайт, тогда идёт проверка, но при этом событие появляется.
    Чуть покопавшись, можно так-же сделать и конец события
    Ответ написан
    2 комментария