Прибавление числа к предыдущему раз в день (Решено)

Добрый день!
Есть число (645150). Необходимо к нему прибавить рандомное число от 50 до 500. Сохранить в базе данных. И каждый день прибавлять к сохраненному числу опять рандомное число от 50 до 500 с нарастанием.
Таблицу в базе создал, значение установил.
Написал сниппет:
<?php

// подключение к базе данных MySQL
$db = new mysqli('localhost', 'root', 'root', 'kit');
 
// получение текущего значения поля
$result = $db->query('SELECT * FROM `modxkit33_number`');
$row = $result->fetch_assoc();

$number = random_int(50,500);

// увеличение значения поля на заданное число
$output = $row['meters'] + $number;
$new_value = $output;

// обновление значения поля в базе данных

$db->query('UPDATE modxkit33_number SET meters = ' . $new_value . '');

return $output;

// закрытие соединения с базой данных MySQL
$db->close();
При обновлении страницы цифра меняется и на сайте и в базе, но как выполнять раз в сутки с нарастанием не пойму. В PHP не силен :( Прошу помощи. Может кто сталкивался.
Спасибо!
Алексей
30 августа 2023, 14:25
modx.pro
431
0

Комментарии: 2

Dan
Dan
30 августа 2023, 15:54
0
Во первых, вам не нужно устанавливать новое соединение с БД, если таблица находится внутри той, что привязана к сайту на Modx. Достаточно выполнить SQL-запрос.
Во вторых, если вы помимо того, что создали сниппет, еще и добавили его вывод в шаблон, то каждое открытие страницы будет запускать сниппет. Поэтому не надо его нигде вызывать.
Установите бесплатное дополнение Scheduler или CronTabManager с modstore, добавьте задание на запуск сниппета раз в сутки и все.
    Алексей
    30 августа 2023, 15:57
    0
    Здравствуйте!
    Да, я уже понял, что надо через cron. Спасибо большое!
    Авторизуйтесь или зарегистрируйтесь, чтобы оставлять комментарии.
    2