anboza Опубліковано: 24 грудня 2019 Share Опубліковано: 24 грудня 2019 Доброго времени, Уважаемые! Задача: необходимо сделать счетчик, который будет каждый день к исходному значению, добавлять значение. Пример: исходное = 100, каждый день к этому значению, должно прибавляться +3, т.е. в понедельник = 100, вторник = 103, среда = 106 и так далее. Что рассматривал: Данная задача, однозначно должна решаться через серверную обработку, первое и (думается) правильное - триггеры. НО! триггер в MySQL, срабатывают по событию (добавление,удаление, изменение) записей в таблицы. Время срабатывания - не основной фактор, как я понял. Внимание, вопрос ))) Правильно ли я все понял, сталкивался ли кто-нибудь с такой задачей и если можно, поделитесь опытом - примером... Заранее благодарен )) Надіслати Поділитися на інших сайтах More sharing options... flai0616 Опубліковано: 24 грудня 2019 Share Опубліковано: 24 грудня 2019 Зачем триггер? Можно за 10-20 минут сделать кроном) https://ru.wikipedia.org/wiki/Cron Надіслати Поділитися на інших сайтах More sharing options... flai0616 Опубліковано: 24 грудня 2019 Share Опубліковано: 24 грудня 2019 Грубо говоря - пишете скрипт, который получает текущее значение, прибавляет к нему 3 и записывает обратно в БД. Ставите выполнение по cron раз в сутки и все) 1 Надіслати Поділитися на інших сайтах More sharing options... anboza Опубліковано: 24 грудня 2019 Автор Share Опубліковано: 24 грудня 2019 мне нужно выполнять действие, на стороне сервера.мне не нужен сервис дополнительный. это все надстройки, которые не нужны!!! Надіслати Поділитися на інших сайтах More sharing options... stickpro Опубліковано: 24 грудня 2019 Share Опубліковано: 24 грудня 2019 16 минут назад, anboza сказал: мне нужно выполнять действие, на стороне сервера.мне не нужен сервис дополнительный. это все надстройки, которые не нужны!!! все вам правильно написали, пишите скрипт который берет данные из бд и возвращаюет туда же, и срабатывает по крону каждый день в нужное время Надіслати Поділитися на інших сайтах More sharing options... Yoda Опубліковано: 24 грудня 2019 Share Опубліковано: 24 грудня 2019 29 минут назад, flai0616 сказал: Грубо говоря - пишете скрипт, который получает текущее значение, прибавляет к нему 3 и записывает обратно в БД. Ставите выполнение по cron раз в сутки и все) UPDATE table SET table.field = table.field + 3 не годится? Ну и если правильно погуглить то видим по заросу cron mysql query Первая же ссылка на стаковерфлоу и очень простое решение задачи personally find it easier use MySQL event scheduler than cron. Enable it with SET GLOBAL event_scheduler = ON; and create an event like this: CREATE EVENT name_of_event ON SCHEDULE EVERY 1 DAY STARTS '2014-01-18 00:00:00' DO DELETE FROM tbl_message WHERE DATEDIFF( NOW( ) , timestamp ) >=7; and that's it. Надіслати Поділитися на інших сайтах More sharing options... anboza Опубліковано: 24 грудня 2019 Автор Share Опубліковано: 24 грудня 2019 но это же жесть ((( а зачем тогда вообще сервер БД? для того, чтобы просто таблицы хранить? Надіслати Поділитися на інших сайтах More sharing options... anboza Опубліковано: 24 грудня 2019 Автор Share Опубліковано: 24 грудня 2019 1 минуту назад, nikifalex сказал: а если сервер случайно выключили во время когда должно сработать событие? ну так в том и соль, что триггер должен сработать не просто "в момент", а по состоянию на момент...и так он и работает в "нормальных" СУБД Надіслати Поділитися на інших сайтах More sharing options... i3bepb Опубліковано: 25 грудня 2019 Share Опубліковано: 25 грудня 2019 10 часов назад, anboza сказал: ну так в том и соль, что триггер должен сработать не просто "в момент", а по состоянию на момент Ну можно придумать такой алгоритм. Создать триггер на select из этой таблицы. Делаем хранилище для метки, которая помогает определять добавлять +3 или нет, например еще таблицу. В триггере такой примерно алгоритм - смотреть текущее время и сравниваем ее с меткой, в метке может быть текущее время с прошлого добавления +3, делаем вывод надо ли добавлять +3 или нет, если надо, то добавляем и обновляем метку, если нет, то ничего не делаем. Но я бы так не делал. Лучше в коде php обложить select-ы из той таблицы проверкой по аналогичному алгоритму, это будет легче поддерживать. Надіслати Поділитися на інших сайтах More sharing options... chukcha Опубліковано: 25 грудня 2019 Share Опубліковано: 25 грудня 2019 3 часа назад, i3bepb сказал: Создать триггер на select из этой таблицы. расскажите - как Надіслати Поділитися на інших сайтах More sharing options... anboza Опубліковано: 25 грудня 2019 Автор Share Опубліковано: 25 грудня 2019 3 часа назад, nikifalex сказал: пока нет понимания, для чего это надо вопрошающему, все потуги как то решить проблему, тщетны. я в первом посте описал задачу. она именно так и выглядит. результат этого состояния счетчика, просто будет выводиться на фронте, в блоке типа "наш сервис посетило" столько-то людей. Надіслати Поділитися на інших сайтах More sharing options... anboza Опубліковано: 25 грудня 2019 Автор Share Опубліковано: 25 грудня 2019 4 часа назад, i3bepb сказал: Создать триггер на select из этой таблицы. ну как бы вариант, но уж больно он громоздкий. Ну и не факт, что обращение будет каждый день. Соответственно нужно не просто проверять дату обновления, но и вычислять разность и потом умножать накол-во пропущенных дней... Я же ищу вариант решения, чтобы задача выполнялась просто на сервере. Каждый день, вне зависимости от селектов и апдейтов каких-либо данных... Но сдается мне, что это не про mysql, судя по обсуждению... Надіслати Поділитися на інших сайтах More sharing options... chukcha Опубліковано: 25 грудня 2019 Share Опубліковано: 25 грудня 2019 26 минут назад, anboza сказал: Я же ищу вариант решения, чтобы задача выполнялась просто на сервере. Каждый день, вне зависимости от селектов и апдейтов каких-либо данных... 15 часов назад, Yoda сказал: and create an event like this: CREATE EVENT name_of_event ON SCHEDULE EVERY 1 DAY STARTS '2014-01-18 00:00:00' DO DELETE FROM tbl_message WHERE DATEDIFF( NOW( ) , timestamp ) >=7; and that's it. Что здесь не так? Надіслати Поділитися на інших сайтах More sharing options... i3bepb Опубліковано: 25 грудня 2019 Share Опубліковано: 25 грудня 2019 27 минут назад, anboza сказал: Каждый день, вне зависимости от селектов и апдейтов каких-либо данных... Такие вариант выше же предлагали 16 часов назад, flai0616 сказал: Грубо говоря - пишете скрипт, который получает текущее значение, прибавляет к нему 3 и записывает обратно в БД. Ставите выполнение по cron раз в сутки и все) 15 часов назад, Yoda сказал: Ну и если правильно погуглить то видим по заросу cron mysql query Первая же ссылка на стаковерфлоу и очень простое решение задачи personally find it easier use MySQL event scheduler than cron. Enable it with SET GLOBAL event_scheduler = ON; and create an event like this: CREATE EVENT name_of_event ON SCHEDULE EVERY 1 DAY STARTS '2014-01-18 00:00:00' DO DELETE FROM tbl_message WHERE DATEDIFF( NOW( ) , timestamp ) >=7; and that's it. Надіслати Поділитися на інших сайтах More sharing options... i3bepb Опубліковано: 25 грудня 2019 Share Опубліковано: 25 грудня 2019 1 час назад, chukcha сказал: расскажите - как Да Вы правы на select триггер не навешать, но если погуглить, то например предлагается вариант через хранимые процедуры, т.е. вместо select-а на прямую делается процедура, которая будет оберткой и уже в ней алгоритм. Возможно еще какие-то решения найдутся как это сделать. Надіслати Поділитися на інших сайтах More sharing options... chukcha Опубліковано: 25 грудня 2019 Share Опубліковано: 25 грудня 2019 Самое простое крон Более менее управляемо, и вычисляемо Таски (евентсы) о них нужно знать, помнить и использовать, но это должно быть в ГДЕ- ТО - Внимание Есть events Надіслати Поділитися на інших сайтах More sharing options... anboza Опубліковано: 25 грудня 2019 Автор Share Опубліковано: 25 грудня 2019 Только что, chukcha сказал: Что здесь не так? здесь все так, просто пояснял суть заданного вопроса. Надіслати Поділитися на інших сайтах More sharing options... Yoda Опубліковано: 25 грудня 2019 Share Опубліковано: 25 грудня 2019 Я с вас со всех худею дорогая редакция. Откуда столько глупостей в голове? 1. Если падает сервер и не срабатывает sheduled task - надо просто менять сервер. 2. Любые хранимые процедуры, триггеры и таски в базе - в конечном итоге оборачиваются некой головной болью при смене окружения, особенно если используется shared хостинг. 3. Нет принципиальной разницы это cron скрипт php, cron команда mysql или bash скрипт. Это все серверные пережитки и они все обладают одним большим недостатком - при смене окружения, паролей в базу, пользователя базы, про них можно случайно забыть. 4. Если делать совсем дубово в рамках идеи opencart - надо делать какой то шедаллер в виде событий при инициализации генераций страниц с файлом или записью базы содержащими временную метку последнго успешного события. Если вы уверены в своих силах и втом, что вы не забудете перенести кроны - крон. Если знаете как решить потенциальные проблемы с пользователем, от которого работюат триггеры и процедуры - делайте в базе. В том или ином виде задача решается однозначно и малыми костами. Просто кому то удобно за 10 минут скрипт сваять, а кому то в базу пару запросов воткнуть. Единого верного решения здесь быть не может. Следуйте принципу write less do more и будет вам счастье! Надіслати Поділитися на інших сайтах More sharing options... Otvet Опубліковано: 25 грудня 2019 Share Опубліковано: 25 грудня 2019 так и не понял, зачем писать в базу? 12 часов назад, anboza сказал: просто будет выводиться на фронте В 24.12.2019 в 20:53, anboza сказал: Пример: исходное = 100, каждый день к этому значению, должно прибавляться +3, т.е. в понедельник = 100, вторник = 103, среда = 106 и так далее. echo (100+floor(($now_date - $start_date) / 86400)*3) 1 Надіслати Поділитися на інших сайтах More sharing options... anboza Опубліковано: 25 грудня 2019 Автор Share Опубліковано: 25 грудня 2019 Только что, Otvet сказал: так и не понял, зачем писать в базу? в базу писать для того, чтобы обрабатывать не на клиенте. И в клиента передавать 1 конечное значение, а не передавать значение, плодить переменные и потом все это обрабатывать. Речь об оптимальном решении, с возможностью использовать преимущество наличия БД. Только что, Yoda сказал: Просто кому то удобно за 10 минут скрипт сваять, а кому то в базу пару запросов воткнуть. Единого верного решения здесь быть не может. Для того и обсуждаем на форуме)) В любом случае, я благодарен всем участникам дискуссии, за версии, мысли и предложения ))) Надіслати Поділитися на інших сайтах More sharing options... Створіть аккаунт або увійдіть для коментування Ви повинні бути користувачем, щоб залишити коментар Створити обліковий запис Зареєструйтеся для отримання облікового запису. Це просто! Зареєструвати аккаунт Вхід Уже зареєстровані? Увійдіть тут. Вхід зараз Share More sharing options... Передплатники 0 Перейти до списку тем Зараз на сторінці 0 користувачів Ні користувачів, які переглядиють цю сторінку Последние темы Последние дополнения Последние новости Вся активність Головна Підтримка та відповіді на запитання. Допомога програмістам та розробникам Mysql+ trigger Покупцям Оплата розширень фізичними особами Оплата розширень юридичними особами Політика повернень Розробникам Регламент розміщення розширень Регламент продажу та підтримки розширень Віртуальний обліковий запис автора Політика просування оголошень API каталогу розширень Вирішення спорів щодо авторських прав Корисна інформація Публічна оферта Політика повернень Політика конфіденційності Платіжна політика Політика передачі особистих даних Політика прозорості Останні розширення Повний пакет SEO Автор: GeekoDev SameSite Session Fix Opencart 3 Автор: web_bond SP Telegram повідомлення FREE Автор: spectre Відключити порожні категорії Автор: spectre SEO Автор тексту категорії / фільтра / блогу з датою оновлення контенту + мікророзмітка Автор: radaevich × Уже зареєстровані? Ввійти Реєстрація Ваші замовлення Назад Придбані модулі та шаблони Ваші рахунки Лист очікувань Альтернативні контакти Форум Новини ocStore Назад Офіційний сайт Демо ocStore 3.0.3.2 Демо ocStore 2.3.0.2.4 Завантажити ocStore Документація Історія версій ocStore Блоги Модулі Шаблони Назад Безкоштовні шаблони Платні шаблони Де купувати модулі? Послуги FAQ OpenCart.Pro Назад Демо Купити Порівняння × Створити... Important Information На нашому сайті використовуються файли cookie і відбувається обробка деяких персональних даних користувачів, щоб поліпшити користувальницький інтерфейс. Щоб дізнатися для чого і які персональні дані ми обробляємо перейдіть за посиланням . Якщо Ви натиснете «Я даю згоду», це означає, що Ви розумієте і приймаєте всі умови, зазначені в цьому Повідомленні про конфіденційність. Я даю згоду
flai0616 Опубліковано: 24 грудня 2019 Share Опубліковано: 24 грудня 2019 Зачем триггер? Можно за 10-20 минут сделать кроном) https://ru.wikipedia.org/wiki/Cron Надіслати Поділитися на інших сайтах More sharing options... flai0616 Опубліковано: 24 грудня 2019 Share Опубліковано: 24 грудня 2019 Грубо говоря - пишете скрипт, который получает текущее значение, прибавляет к нему 3 и записывает обратно в БД. Ставите выполнение по cron раз в сутки и все) 1 Надіслати Поділитися на інших сайтах More sharing options... anboza Опубліковано: 24 грудня 2019 Автор Share Опубліковано: 24 грудня 2019 мне нужно выполнять действие, на стороне сервера.мне не нужен сервис дополнительный. это все надстройки, которые не нужны!!! Надіслати Поділитися на інших сайтах More sharing options... stickpro Опубліковано: 24 грудня 2019 Share Опубліковано: 24 грудня 2019 16 минут назад, anboza сказал: мне нужно выполнять действие, на стороне сервера.мне не нужен сервис дополнительный. это все надстройки, которые не нужны!!! все вам правильно написали, пишите скрипт который берет данные из бд и возвращаюет туда же, и срабатывает по крону каждый день в нужное время Надіслати Поділитися на інших сайтах More sharing options... Yoda Опубліковано: 24 грудня 2019 Share Опубліковано: 24 грудня 2019 29 минут назад, flai0616 сказал: Грубо говоря - пишете скрипт, который получает текущее значение, прибавляет к нему 3 и записывает обратно в БД. Ставите выполнение по cron раз в сутки и все) UPDATE table SET table.field = table.field + 3 не годится? Ну и если правильно погуглить то видим по заросу cron mysql query Первая же ссылка на стаковерфлоу и очень простое решение задачи personally find it easier use MySQL event scheduler than cron. Enable it with SET GLOBAL event_scheduler = ON; and create an event like this: CREATE EVENT name_of_event ON SCHEDULE EVERY 1 DAY STARTS '2014-01-18 00:00:00' DO DELETE FROM tbl_message WHERE DATEDIFF( NOW( ) , timestamp ) >=7; and that's it. Надіслати Поділитися на інших сайтах More sharing options... anboza Опубліковано: 24 грудня 2019 Автор Share Опубліковано: 24 грудня 2019 но это же жесть ((( а зачем тогда вообще сервер БД? для того, чтобы просто таблицы хранить? Надіслати Поділитися на інших сайтах More sharing options... anboza Опубліковано: 24 грудня 2019 Автор Share Опубліковано: 24 грудня 2019 1 минуту назад, nikifalex сказал: а если сервер случайно выключили во время когда должно сработать событие? ну так в том и соль, что триггер должен сработать не просто "в момент", а по состоянию на момент...и так он и работает в "нормальных" СУБД Надіслати Поділитися на інших сайтах More sharing options... i3bepb Опубліковано: 25 грудня 2019 Share Опубліковано: 25 грудня 2019 10 часов назад, anboza сказал: ну так в том и соль, что триггер должен сработать не просто "в момент", а по состоянию на момент Ну можно придумать такой алгоритм. Создать триггер на select из этой таблицы. Делаем хранилище для метки, которая помогает определять добавлять +3 или нет, например еще таблицу. В триггере такой примерно алгоритм - смотреть текущее время и сравниваем ее с меткой, в метке может быть текущее время с прошлого добавления +3, делаем вывод надо ли добавлять +3 или нет, если надо, то добавляем и обновляем метку, если нет, то ничего не делаем. Но я бы так не делал. Лучше в коде php обложить select-ы из той таблицы проверкой по аналогичному алгоритму, это будет легче поддерживать. Надіслати Поділитися на інших сайтах More sharing options... chukcha Опубліковано: 25 грудня 2019 Share Опубліковано: 25 грудня 2019 3 часа назад, i3bepb сказал: Создать триггер на select из этой таблицы. расскажите - как Надіслати Поділитися на інших сайтах More sharing options... anboza Опубліковано: 25 грудня 2019 Автор Share Опубліковано: 25 грудня 2019 3 часа назад, nikifalex сказал: пока нет понимания, для чего это надо вопрошающему, все потуги как то решить проблему, тщетны. я в первом посте описал задачу. она именно так и выглядит. результат этого состояния счетчика, просто будет выводиться на фронте, в блоке типа "наш сервис посетило" столько-то людей. Надіслати Поділитися на інших сайтах More sharing options... anboza Опубліковано: 25 грудня 2019 Автор Share Опубліковано: 25 грудня 2019 4 часа назад, i3bepb сказал: Создать триггер на select из этой таблицы. ну как бы вариант, но уж больно он громоздкий. Ну и не факт, что обращение будет каждый день. Соответственно нужно не просто проверять дату обновления, но и вычислять разность и потом умножать накол-во пропущенных дней... Я же ищу вариант решения, чтобы задача выполнялась просто на сервере. Каждый день, вне зависимости от селектов и апдейтов каких-либо данных... Но сдается мне, что это не про mysql, судя по обсуждению... Надіслати Поділитися на інших сайтах More sharing options... chukcha Опубліковано: 25 грудня 2019 Share Опубліковано: 25 грудня 2019 26 минут назад, anboza сказал: Я же ищу вариант решения, чтобы задача выполнялась просто на сервере. Каждый день, вне зависимости от селектов и апдейтов каких-либо данных... 15 часов назад, Yoda сказал: and create an event like this: CREATE EVENT name_of_event ON SCHEDULE EVERY 1 DAY STARTS '2014-01-18 00:00:00' DO DELETE FROM tbl_message WHERE DATEDIFF( NOW( ) , timestamp ) >=7; and that's it. Что здесь не так? Надіслати Поділитися на інших сайтах More sharing options... i3bepb Опубліковано: 25 грудня 2019 Share Опубліковано: 25 грудня 2019 27 минут назад, anboza сказал: Каждый день, вне зависимости от селектов и апдейтов каких-либо данных... Такие вариант выше же предлагали 16 часов назад, flai0616 сказал: Грубо говоря - пишете скрипт, который получает текущее значение, прибавляет к нему 3 и записывает обратно в БД. Ставите выполнение по cron раз в сутки и все) 15 часов назад, Yoda сказал: Ну и если правильно погуглить то видим по заросу cron mysql query Первая же ссылка на стаковерфлоу и очень простое решение задачи personally find it easier use MySQL event scheduler than cron. Enable it with SET GLOBAL event_scheduler = ON; and create an event like this: CREATE EVENT name_of_event ON SCHEDULE EVERY 1 DAY STARTS '2014-01-18 00:00:00' DO DELETE FROM tbl_message WHERE DATEDIFF( NOW( ) , timestamp ) >=7; and that's it. Надіслати Поділитися на інших сайтах More sharing options... i3bepb Опубліковано: 25 грудня 2019 Share Опубліковано: 25 грудня 2019 1 час назад, chukcha сказал: расскажите - как Да Вы правы на select триггер не навешать, но если погуглить, то например предлагается вариант через хранимые процедуры, т.е. вместо select-а на прямую делается процедура, которая будет оберткой и уже в ней алгоритм. Возможно еще какие-то решения найдутся как это сделать. Надіслати Поділитися на інших сайтах More sharing options... chukcha Опубліковано: 25 грудня 2019 Share Опубліковано: 25 грудня 2019 Самое простое крон Более менее управляемо, и вычисляемо Таски (евентсы) о них нужно знать, помнить и использовать, но это должно быть в ГДЕ- ТО - Внимание Есть events Надіслати Поділитися на інших сайтах More sharing options... anboza Опубліковано: 25 грудня 2019 Автор Share Опубліковано: 25 грудня 2019 Только что, chukcha сказал: Что здесь не так? здесь все так, просто пояснял суть заданного вопроса. Надіслати Поділитися на інших сайтах More sharing options... Yoda Опубліковано: 25 грудня 2019 Share Опубліковано: 25 грудня 2019 Я с вас со всех худею дорогая редакция. Откуда столько глупостей в голове? 1. Если падает сервер и не срабатывает sheduled task - надо просто менять сервер. 2. Любые хранимые процедуры, триггеры и таски в базе - в конечном итоге оборачиваются некой головной болью при смене окружения, особенно если используется shared хостинг. 3. Нет принципиальной разницы это cron скрипт php, cron команда mysql или bash скрипт. Это все серверные пережитки и они все обладают одним большим недостатком - при смене окружения, паролей в базу, пользователя базы, про них можно случайно забыть. 4. Если делать совсем дубово в рамках идеи opencart - надо делать какой то шедаллер в виде событий при инициализации генераций страниц с файлом или записью базы содержащими временную метку последнго успешного события. Если вы уверены в своих силах и втом, что вы не забудете перенести кроны - крон. Если знаете как решить потенциальные проблемы с пользователем, от которого работюат триггеры и процедуры - делайте в базе. В том или ином виде задача решается однозначно и малыми костами. Просто кому то удобно за 10 минут скрипт сваять, а кому то в базу пару запросов воткнуть. Единого верного решения здесь быть не может. Следуйте принципу write less do more и будет вам счастье! Надіслати Поділитися на інших сайтах More sharing options... Otvet Опубліковано: 25 грудня 2019 Share Опубліковано: 25 грудня 2019 так и не понял, зачем писать в базу? 12 часов назад, anboza сказал: просто будет выводиться на фронте В 24.12.2019 в 20:53, anboza сказал: Пример: исходное = 100, каждый день к этому значению, должно прибавляться +3, т.е. в понедельник = 100, вторник = 103, среда = 106 и так далее. echo (100+floor(($now_date - $start_date) / 86400)*3) 1 Надіслати Поділитися на інших сайтах More sharing options... anboza Опубліковано: 25 грудня 2019 Автор Share Опубліковано: 25 грудня 2019 Только что, Otvet сказал: так и не понял, зачем писать в базу? в базу писать для того, чтобы обрабатывать не на клиенте. И в клиента передавать 1 конечное значение, а не передавать значение, плодить переменные и потом все это обрабатывать. Речь об оптимальном решении, с возможностью использовать преимущество наличия БД. Только что, Yoda сказал: Просто кому то удобно за 10 минут скрипт сваять, а кому то в базу пару запросов воткнуть. Единого верного решения здесь быть не может. Для того и обсуждаем на форуме)) В любом случае, я благодарен всем участникам дискуссии, за версии, мысли и предложения ))) Надіслати Поділитися на інших сайтах More sharing options... Створіть аккаунт або увійдіть для коментування Ви повинні бути користувачем, щоб залишити коментар Створити обліковий запис Зареєструйтеся для отримання облікового запису. Це просто! Зареєструвати аккаунт Вхід Уже зареєстровані? Увійдіть тут. Вхід зараз Share More sharing options... Передплатники 0 Перейти до списку тем Зараз на сторінці 0 користувачів Ні користувачів, які переглядиють цю сторінку Последние темы Последние дополнения Последние новости Вся активність Головна Підтримка та відповіді на запитання. Допомога програмістам та розробникам Mysql+ trigger Покупцям Оплата розширень фізичними особами Оплата розширень юридичними особами Політика повернень Розробникам Регламент розміщення розширень Регламент продажу та підтримки розширень Віртуальний обліковий запис автора Політика просування оголошень API каталогу розширень Вирішення спорів щодо авторських прав Корисна інформація Публічна оферта Політика повернень Політика конфіденційності Платіжна політика Політика передачі особистих даних Політика прозорості Останні розширення Повний пакет SEO Автор: GeekoDev SameSite Session Fix Opencart 3 Автор: web_bond SP Telegram повідомлення FREE Автор: spectre Відключити порожні категорії Автор: spectre SEO Автор тексту категорії / фільтра / блогу з датою оновлення контенту + мікророзмітка Автор: radaevich × Уже зареєстровані? Ввійти Реєстрація Ваші замовлення Назад Придбані модулі та шаблони Ваші рахунки Лист очікувань Альтернативні контакти Форум Новини ocStore Назад Офіційний сайт Демо ocStore 3.0.3.2 Демо ocStore 2.3.0.2.4 Завантажити ocStore Документація Історія версій ocStore Блоги Модулі Шаблони Назад Безкоштовні шаблони Платні шаблони Де купувати модулі? Послуги FAQ OpenCart.Pro Назад Демо Купити Порівняння × Створити... Important Information На нашому сайті використовуються файли cookie і відбувається обробка деяких персональних даних користувачів, щоб поліпшити користувальницький інтерфейс. Щоб дізнатися для чого і які персональні дані ми обробляємо перейдіть за посиланням . Якщо Ви натиснете «Я даю згоду», це означає, що Ви розумієте і приймаєте всі умови, зазначені в цьому Повідомленні про конфіденційність. Я даю згоду
flai0616 Опубліковано: 24 грудня 2019 Share Опубліковано: 24 грудня 2019 Грубо говоря - пишете скрипт, который получает текущее значение, прибавляет к нему 3 и записывает обратно в БД. Ставите выполнение по cron раз в сутки и все) 1 Надіслати Поділитися на інших сайтах More sharing options... anboza Опубліковано: 24 грудня 2019 Автор Share Опубліковано: 24 грудня 2019 мне нужно выполнять действие, на стороне сервера.мне не нужен сервис дополнительный. это все надстройки, которые не нужны!!! Надіслати Поділитися на інших сайтах More sharing options... stickpro Опубліковано: 24 грудня 2019 Share Опубліковано: 24 грудня 2019 16 минут назад, anboza сказал: мне нужно выполнять действие, на стороне сервера.мне не нужен сервис дополнительный. это все надстройки, которые не нужны!!! все вам правильно написали, пишите скрипт который берет данные из бд и возвращаюет туда же, и срабатывает по крону каждый день в нужное время Надіслати Поділитися на інших сайтах More sharing options... Yoda Опубліковано: 24 грудня 2019 Share Опубліковано: 24 грудня 2019 29 минут назад, flai0616 сказал: Грубо говоря - пишете скрипт, который получает текущее значение, прибавляет к нему 3 и записывает обратно в БД. Ставите выполнение по cron раз в сутки и все) UPDATE table SET table.field = table.field + 3 не годится? Ну и если правильно погуглить то видим по заросу cron mysql query Первая же ссылка на стаковерфлоу и очень простое решение задачи personally find it easier use MySQL event scheduler than cron. Enable it with SET GLOBAL event_scheduler = ON; and create an event like this: CREATE EVENT name_of_event ON SCHEDULE EVERY 1 DAY STARTS '2014-01-18 00:00:00' DO DELETE FROM tbl_message WHERE DATEDIFF( NOW( ) , timestamp ) >=7; and that's it. Надіслати Поділитися на інших сайтах More sharing options... anboza Опубліковано: 24 грудня 2019 Автор Share Опубліковано: 24 грудня 2019 но это же жесть ((( а зачем тогда вообще сервер БД? для того, чтобы просто таблицы хранить? Надіслати Поділитися на інших сайтах More sharing options... anboza Опубліковано: 24 грудня 2019 Автор Share Опубліковано: 24 грудня 2019 1 минуту назад, nikifalex сказал: а если сервер случайно выключили во время когда должно сработать событие? ну так в том и соль, что триггер должен сработать не просто "в момент", а по состоянию на момент...и так он и работает в "нормальных" СУБД Надіслати Поділитися на інших сайтах More sharing options... i3bepb Опубліковано: 25 грудня 2019 Share Опубліковано: 25 грудня 2019 10 часов назад, anboza сказал: ну так в том и соль, что триггер должен сработать не просто "в момент", а по состоянию на момент Ну можно придумать такой алгоритм. Создать триггер на select из этой таблицы. Делаем хранилище для метки, которая помогает определять добавлять +3 или нет, например еще таблицу. В триггере такой примерно алгоритм - смотреть текущее время и сравниваем ее с меткой, в метке может быть текущее время с прошлого добавления +3, делаем вывод надо ли добавлять +3 или нет, если надо, то добавляем и обновляем метку, если нет, то ничего не делаем. Но я бы так не делал. Лучше в коде php обложить select-ы из той таблицы проверкой по аналогичному алгоритму, это будет легче поддерживать. Надіслати Поділитися на інших сайтах More sharing options... chukcha Опубліковано: 25 грудня 2019 Share Опубліковано: 25 грудня 2019 3 часа назад, i3bepb сказал: Создать триггер на select из этой таблицы. расскажите - как Надіслати Поділитися на інших сайтах More sharing options... anboza Опубліковано: 25 грудня 2019 Автор Share Опубліковано: 25 грудня 2019 3 часа назад, nikifalex сказал: пока нет понимания, для чего это надо вопрошающему, все потуги как то решить проблему, тщетны. я в первом посте описал задачу. она именно так и выглядит. результат этого состояния счетчика, просто будет выводиться на фронте, в блоке типа "наш сервис посетило" столько-то людей. Надіслати Поділитися на інших сайтах More sharing options... anboza Опубліковано: 25 грудня 2019 Автор Share Опубліковано: 25 грудня 2019 4 часа назад, i3bepb сказал: Создать триггер на select из этой таблицы. ну как бы вариант, но уж больно он громоздкий. Ну и не факт, что обращение будет каждый день. Соответственно нужно не просто проверять дату обновления, но и вычислять разность и потом умножать накол-во пропущенных дней... Я же ищу вариант решения, чтобы задача выполнялась просто на сервере. Каждый день, вне зависимости от селектов и апдейтов каких-либо данных... Но сдается мне, что это не про mysql, судя по обсуждению... Надіслати Поділитися на інших сайтах More sharing options... chukcha Опубліковано: 25 грудня 2019 Share Опубліковано: 25 грудня 2019 26 минут назад, anboza сказал: Я же ищу вариант решения, чтобы задача выполнялась просто на сервере. Каждый день, вне зависимости от селектов и апдейтов каких-либо данных... 15 часов назад, Yoda сказал: and create an event like this: CREATE EVENT name_of_event ON SCHEDULE EVERY 1 DAY STARTS '2014-01-18 00:00:00' DO DELETE FROM tbl_message WHERE DATEDIFF( NOW( ) , timestamp ) >=7; and that's it. Что здесь не так? Надіслати Поділитися на інших сайтах More sharing options... i3bepb Опубліковано: 25 грудня 2019 Share Опубліковано: 25 грудня 2019 27 минут назад, anboza сказал: Каждый день, вне зависимости от селектов и апдейтов каких-либо данных... Такие вариант выше же предлагали 16 часов назад, flai0616 сказал: Грубо говоря - пишете скрипт, который получает текущее значение, прибавляет к нему 3 и записывает обратно в БД. Ставите выполнение по cron раз в сутки и все) 15 часов назад, Yoda сказал: Ну и если правильно погуглить то видим по заросу cron mysql query Первая же ссылка на стаковерфлоу и очень простое решение задачи personally find it easier use MySQL event scheduler than cron. Enable it with SET GLOBAL event_scheduler = ON; and create an event like this: CREATE EVENT name_of_event ON SCHEDULE EVERY 1 DAY STARTS '2014-01-18 00:00:00' DO DELETE FROM tbl_message WHERE DATEDIFF( NOW( ) , timestamp ) >=7; and that's it. Надіслати Поділитися на інших сайтах More sharing options... i3bepb Опубліковано: 25 грудня 2019 Share Опубліковано: 25 грудня 2019 1 час назад, chukcha сказал: расскажите - как Да Вы правы на select триггер не навешать, но если погуглить, то например предлагается вариант через хранимые процедуры, т.е. вместо select-а на прямую делается процедура, которая будет оберткой и уже в ней алгоритм. Возможно еще какие-то решения найдутся как это сделать. Надіслати Поділитися на інших сайтах More sharing options... chukcha Опубліковано: 25 грудня 2019 Share Опубліковано: 25 грудня 2019 Самое простое крон Более менее управляемо, и вычисляемо Таски (евентсы) о них нужно знать, помнить и использовать, но это должно быть в ГДЕ- ТО - Внимание Есть events Надіслати Поділитися на інших сайтах More sharing options... anboza Опубліковано: 25 грудня 2019 Автор Share Опубліковано: 25 грудня 2019 Только что, chukcha сказал: Что здесь не так? здесь все так, просто пояснял суть заданного вопроса. Надіслати Поділитися на інших сайтах More sharing options... Yoda Опубліковано: 25 грудня 2019 Share Опубліковано: 25 грудня 2019 Я с вас со всех худею дорогая редакция. Откуда столько глупостей в голове? 1. Если падает сервер и не срабатывает sheduled task - надо просто менять сервер. 2. Любые хранимые процедуры, триггеры и таски в базе - в конечном итоге оборачиваются некой головной болью при смене окружения, особенно если используется shared хостинг. 3. Нет принципиальной разницы это cron скрипт php, cron команда mysql или bash скрипт. Это все серверные пережитки и они все обладают одним большим недостатком - при смене окружения, паролей в базу, пользователя базы, про них можно случайно забыть. 4. Если делать совсем дубово в рамках идеи opencart - надо делать какой то шедаллер в виде событий при инициализации генераций страниц с файлом или записью базы содержащими временную метку последнго успешного события. Если вы уверены в своих силах и втом, что вы не забудете перенести кроны - крон. Если знаете как решить потенциальные проблемы с пользователем, от которого работюат триггеры и процедуры - делайте в базе. В том или ином виде задача решается однозначно и малыми костами. Просто кому то удобно за 10 минут скрипт сваять, а кому то в базу пару запросов воткнуть. Единого верного решения здесь быть не может. Следуйте принципу write less do more и будет вам счастье! Надіслати Поділитися на інших сайтах More sharing options... Otvet Опубліковано: 25 грудня 2019 Share Опубліковано: 25 грудня 2019 так и не понял, зачем писать в базу? 12 часов назад, anboza сказал: просто будет выводиться на фронте В 24.12.2019 в 20:53, anboza сказал: Пример: исходное = 100, каждый день к этому значению, должно прибавляться +3, т.е. в понедельник = 100, вторник = 103, среда = 106 и так далее. echo (100+floor(($now_date - $start_date) / 86400)*3) 1 Надіслати Поділитися на інших сайтах More sharing options... anboza Опубліковано: 25 грудня 2019 Автор Share Опубліковано: 25 грудня 2019 Только что, Otvet сказал: так и не понял, зачем писать в базу? в базу писать для того, чтобы обрабатывать не на клиенте. И в клиента передавать 1 конечное значение, а не передавать значение, плодить переменные и потом все это обрабатывать. Речь об оптимальном решении, с возможностью использовать преимущество наличия БД. Только что, Yoda сказал: Просто кому то удобно за 10 минут скрипт сваять, а кому то в базу пару запросов воткнуть. Единого верного решения здесь быть не может. Для того и обсуждаем на форуме)) В любом случае, я благодарен всем участникам дискуссии, за версии, мысли и предложения ))) Надіслати Поділитися на інших сайтах More sharing options... Створіть аккаунт або увійдіть для коментування Ви повинні бути користувачем, щоб залишити коментар Створити обліковий запис Зареєструйтеся для отримання облікового запису. Це просто! Зареєструвати аккаунт Вхід Уже зареєстровані? Увійдіть тут. Вхід зараз Share More sharing options... Передплатники 0 Перейти до списку тем Зараз на сторінці 0 користувачів Ні користувачів, які переглядиють цю сторінку Последние темы Последние дополнения Последние новости Вся активність Головна Підтримка та відповіді на запитання. Допомога програмістам та розробникам Mysql+ trigger Покупцям Оплата розширень фізичними особами Оплата розширень юридичними особами Політика повернень Розробникам Регламент розміщення розширень Регламент продажу та підтримки розширень Віртуальний обліковий запис автора Політика просування оголошень API каталогу розширень Вирішення спорів щодо авторських прав Корисна інформація Публічна оферта Політика повернень Політика конфіденційності Платіжна політика Політика передачі особистих даних Політика прозорості Останні розширення Повний пакет SEO Автор: GeekoDev SameSite Session Fix Opencart 3 Автор: web_bond SP Telegram повідомлення FREE Автор: spectre Відключити порожні категорії Автор: spectre SEO Автор тексту категорії / фільтра / блогу з датою оновлення контенту + мікророзмітка Автор: radaevich × Уже зареєстровані? Ввійти Реєстрація Ваші замовлення Назад Придбані модулі та шаблони Ваші рахунки Лист очікувань Альтернативні контакти Форум Новини ocStore Назад Офіційний сайт Демо ocStore 3.0.3.2 Демо ocStore 2.3.0.2.4 Завантажити ocStore Документація Історія версій ocStore Блоги Модулі Шаблони Назад Безкоштовні шаблони Платні шаблони Де купувати модулі? Послуги FAQ OpenCart.Pro Назад Демо Купити Порівняння × Створити... Important Information На нашому сайті використовуються файли cookie і відбувається обробка деяких персональних даних користувачів, щоб поліпшити користувальницький інтерфейс. Щоб дізнатися для чого і які персональні дані ми обробляємо перейдіть за посиланням . Якщо Ви натиснете «Я даю згоду», це означає, що Ви розумієте і приймаєте всі умови, зазначені в цьому Повідомленні про конфіденційність. Я даю згоду
anboza Опубліковано: 24 грудня 2019 Автор Share Опубліковано: 24 грудня 2019 мне нужно выполнять действие, на стороне сервера.мне не нужен сервис дополнительный. это все надстройки, которые не нужны!!! Надіслати Поділитися на інших сайтах More sharing options... stickpro Опубліковано: 24 грудня 2019 Share Опубліковано: 24 грудня 2019 16 минут назад, anboza сказал: мне нужно выполнять действие, на стороне сервера.мне не нужен сервис дополнительный. это все надстройки, которые не нужны!!! все вам правильно написали, пишите скрипт который берет данные из бд и возвращаюет туда же, и срабатывает по крону каждый день в нужное время Надіслати Поділитися на інших сайтах More sharing options... Yoda Опубліковано: 24 грудня 2019 Share Опубліковано: 24 грудня 2019 29 минут назад, flai0616 сказал: Грубо говоря - пишете скрипт, который получает текущее значение, прибавляет к нему 3 и записывает обратно в БД. Ставите выполнение по cron раз в сутки и все) UPDATE table SET table.field = table.field + 3 не годится? Ну и если правильно погуглить то видим по заросу cron mysql query Первая же ссылка на стаковерфлоу и очень простое решение задачи personally find it easier use MySQL event scheduler than cron. Enable it with SET GLOBAL event_scheduler = ON; and create an event like this: CREATE EVENT name_of_event ON SCHEDULE EVERY 1 DAY STARTS '2014-01-18 00:00:00' DO DELETE FROM tbl_message WHERE DATEDIFF( NOW( ) , timestamp ) >=7; and that's it. Надіслати Поділитися на інших сайтах More sharing options... anboza Опубліковано: 24 грудня 2019 Автор Share Опубліковано: 24 грудня 2019 но это же жесть ((( а зачем тогда вообще сервер БД? для того, чтобы просто таблицы хранить? Надіслати Поділитися на інших сайтах More sharing options... anboza Опубліковано: 24 грудня 2019 Автор Share Опубліковано: 24 грудня 2019 1 минуту назад, nikifalex сказал: а если сервер случайно выключили во время когда должно сработать событие? ну так в том и соль, что триггер должен сработать не просто "в момент", а по состоянию на момент...и так он и работает в "нормальных" СУБД Надіслати Поділитися на інших сайтах More sharing options... i3bepb Опубліковано: 25 грудня 2019 Share Опубліковано: 25 грудня 2019 10 часов назад, anboza сказал: ну так в том и соль, что триггер должен сработать не просто "в момент", а по состоянию на момент Ну можно придумать такой алгоритм. Создать триггер на select из этой таблицы. Делаем хранилище для метки, которая помогает определять добавлять +3 или нет, например еще таблицу. В триггере такой примерно алгоритм - смотреть текущее время и сравниваем ее с меткой, в метке может быть текущее время с прошлого добавления +3, делаем вывод надо ли добавлять +3 или нет, если надо, то добавляем и обновляем метку, если нет, то ничего не делаем. Но я бы так не делал. Лучше в коде php обложить select-ы из той таблицы проверкой по аналогичному алгоритму, это будет легче поддерживать. Надіслати Поділитися на інших сайтах More sharing options... chukcha Опубліковано: 25 грудня 2019 Share Опубліковано: 25 грудня 2019 3 часа назад, i3bepb сказал: Создать триггер на select из этой таблицы. расскажите - как Надіслати Поділитися на інших сайтах More sharing options... anboza Опубліковано: 25 грудня 2019 Автор Share Опубліковано: 25 грудня 2019 3 часа назад, nikifalex сказал: пока нет понимания, для чего это надо вопрошающему, все потуги как то решить проблему, тщетны. я в первом посте описал задачу. она именно так и выглядит. результат этого состояния счетчика, просто будет выводиться на фронте, в блоке типа "наш сервис посетило" столько-то людей. Надіслати Поділитися на інших сайтах More sharing options... anboza Опубліковано: 25 грудня 2019 Автор Share Опубліковано: 25 грудня 2019 4 часа назад, i3bepb сказал: Создать триггер на select из этой таблицы. ну как бы вариант, но уж больно он громоздкий. Ну и не факт, что обращение будет каждый день. Соответственно нужно не просто проверять дату обновления, но и вычислять разность и потом умножать накол-во пропущенных дней... Я же ищу вариант решения, чтобы задача выполнялась просто на сервере. Каждый день, вне зависимости от селектов и апдейтов каких-либо данных... Но сдается мне, что это не про mysql, судя по обсуждению... Надіслати Поділитися на інших сайтах More sharing options... chukcha Опубліковано: 25 грудня 2019 Share Опубліковано: 25 грудня 2019 26 минут назад, anboza сказал: Я же ищу вариант решения, чтобы задача выполнялась просто на сервере. Каждый день, вне зависимости от селектов и апдейтов каких-либо данных... 15 часов назад, Yoda сказал: and create an event like this: CREATE EVENT name_of_event ON SCHEDULE EVERY 1 DAY STARTS '2014-01-18 00:00:00' DO DELETE FROM tbl_message WHERE DATEDIFF( NOW( ) , timestamp ) >=7; and that's it. Что здесь не так? Надіслати Поділитися на інших сайтах More sharing options... i3bepb Опубліковано: 25 грудня 2019 Share Опубліковано: 25 грудня 2019 27 минут назад, anboza сказал: Каждый день, вне зависимости от селектов и апдейтов каких-либо данных... Такие вариант выше же предлагали 16 часов назад, flai0616 сказал: Грубо говоря - пишете скрипт, который получает текущее значение, прибавляет к нему 3 и записывает обратно в БД. Ставите выполнение по cron раз в сутки и все) 15 часов назад, Yoda сказал: Ну и если правильно погуглить то видим по заросу cron mysql query Первая же ссылка на стаковерфлоу и очень простое решение задачи personally find it easier use MySQL event scheduler than cron. Enable it with SET GLOBAL event_scheduler = ON; and create an event like this: CREATE EVENT name_of_event ON SCHEDULE EVERY 1 DAY STARTS '2014-01-18 00:00:00' DO DELETE FROM tbl_message WHERE DATEDIFF( NOW( ) , timestamp ) >=7; and that's it. Надіслати Поділитися на інших сайтах More sharing options... i3bepb Опубліковано: 25 грудня 2019 Share Опубліковано: 25 грудня 2019 1 час назад, chukcha сказал: расскажите - как Да Вы правы на select триггер не навешать, но если погуглить, то например предлагается вариант через хранимые процедуры, т.е. вместо select-а на прямую делается процедура, которая будет оберткой и уже в ней алгоритм. Возможно еще какие-то решения найдутся как это сделать. Надіслати Поділитися на інших сайтах More sharing options... chukcha Опубліковано: 25 грудня 2019 Share Опубліковано: 25 грудня 2019 Самое простое крон Более менее управляемо, и вычисляемо Таски (евентсы) о них нужно знать, помнить и использовать, но это должно быть в ГДЕ- ТО - Внимание Есть events Надіслати Поділитися на інших сайтах More sharing options... anboza Опубліковано: 25 грудня 2019 Автор Share Опубліковано: 25 грудня 2019 Только что, chukcha сказал: Что здесь не так? здесь все так, просто пояснял суть заданного вопроса. Надіслати Поділитися на інших сайтах More sharing options... Yoda Опубліковано: 25 грудня 2019 Share Опубліковано: 25 грудня 2019 Я с вас со всех худею дорогая редакция. Откуда столько глупостей в голове? 1. Если падает сервер и не срабатывает sheduled task - надо просто менять сервер. 2. Любые хранимые процедуры, триггеры и таски в базе - в конечном итоге оборачиваются некой головной болью при смене окружения, особенно если используется shared хостинг. 3. Нет принципиальной разницы это cron скрипт php, cron команда mysql или bash скрипт. Это все серверные пережитки и они все обладают одним большим недостатком - при смене окружения, паролей в базу, пользователя базы, про них можно случайно забыть. 4. Если делать совсем дубово в рамках идеи opencart - надо делать какой то шедаллер в виде событий при инициализации генераций страниц с файлом или записью базы содержащими временную метку последнго успешного события. Если вы уверены в своих силах и втом, что вы не забудете перенести кроны - крон. Если знаете как решить потенциальные проблемы с пользователем, от которого работюат триггеры и процедуры - делайте в базе. В том или ином виде задача решается однозначно и малыми костами. Просто кому то удобно за 10 минут скрипт сваять, а кому то в базу пару запросов воткнуть. Единого верного решения здесь быть не может. Следуйте принципу write less do more и будет вам счастье! Надіслати Поділитися на інших сайтах More sharing options... Otvet Опубліковано: 25 грудня 2019 Share Опубліковано: 25 грудня 2019 так и не понял, зачем писать в базу? 12 часов назад, anboza сказал: просто будет выводиться на фронте В 24.12.2019 в 20:53, anboza сказал: Пример: исходное = 100, каждый день к этому значению, должно прибавляться +3, т.е. в понедельник = 100, вторник = 103, среда = 106 и так далее. echo (100+floor(($now_date - $start_date) / 86400)*3) 1 Надіслати Поділитися на інших сайтах More sharing options... anboza Опубліковано: 25 грудня 2019 Автор Share Опубліковано: 25 грудня 2019 Только что, Otvet сказал: так и не понял, зачем писать в базу? в базу писать для того, чтобы обрабатывать не на клиенте. И в клиента передавать 1 конечное значение, а не передавать значение, плодить переменные и потом все это обрабатывать. Речь об оптимальном решении, с возможностью использовать преимущество наличия БД. Только что, Yoda сказал: Просто кому то удобно за 10 минут скрипт сваять, а кому то в базу пару запросов воткнуть. Единого верного решения здесь быть не может. Для того и обсуждаем на форуме)) В любом случае, я благодарен всем участникам дискуссии, за версии, мысли и предложения ))) Надіслати Поділитися на інших сайтах More sharing options... Створіть аккаунт або увійдіть для коментування Ви повинні бути користувачем, щоб залишити коментар Створити обліковий запис Зареєструйтеся для отримання облікового запису. Це просто! Зареєструвати аккаунт Вхід Уже зареєстровані? Увійдіть тут. Вхід зараз Share More sharing options... Передплатники 0 Перейти до списку тем Зараз на сторінці 0 користувачів Ні користувачів, які переглядиють цю сторінку Последние темы Последние дополнения Последние новости Вся активність Головна Підтримка та відповіді на запитання. Допомога програмістам та розробникам Mysql+ trigger Покупцям Оплата розширень фізичними особами Оплата розширень юридичними особами Політика повернень Розробникам Регламент розміщення розширень Регламент продажу та підтримки розширень Віртуальний обліковий запис автора Політика просування оголошень API каталогу розширень Вирішення спорів щодо авторських прав Корисна інформація Публічна оферта Політика повернень Політика конфіденційності Платіжна політика Політика передачі особистих даних Політика прозорості Останні розширення Повний пакет SEO Автор: GeekoDev SameSite Session Fix Opencart 3 Автор: web_bond SP Telegram повідомлення FREE Автор: spectre Відключити порожні категорії Автор: spectre SEO Автор тексту категорії / фільтра / блогу з датою оновлення контенту + мікророзмітка Автор: radaevich × Уже зареєстровані? Ввійти Реєстрація Ваші замовлення Назад Придбані модулі та шаблони Ваші рахунки Лист очікувань Альтернативні контакти Форум Новини ocStore Назад Офіційний сайт Демо ocStore 3.0.3.2 Демо ocStore 2.3.0.2.4 Завантажити ocStore Документація Історія версій ocStore Блоги Модулі Шаблони Назад Безкоштовні шаблони Платні шаблони Де купувати модулі? Послуги FAQ OpenCart.Pro Назад Демо Купити Порівняння × Створити... Important Information На нашому сайті використовуються файли cookie і відбувається обробка деяких персональних даних користувачів, щоб поліпшити користувальницький інтерфейс. Щоб дізнатися для чого і які персональні дані ми обробляємо перейдіть за посиланням . Якщо Ви натиснете «Я даю згоду», це означає, що Ви розумієте і приймаєте всі умови, зазначені в цьому Повідомленні про конфіденційність. Я даю згоду
stickpro Опубліковано: 24 грудня 2019 Share Опубліковано: 24 грудня 2019 16 минут назад, anboza сказал: мне нужно выполнять действие, на стороне сервера.мне не нужен сервис дополнительный. это все надстройки, которые не нужны!!! все вам правильно написали, пишите скрипт который берет данные из бд и возвращаюет туда же, и срабатывает по крону каждый день в нужное время Надіслати Поділитися на інших сайтах More sharing options... Yoda Опубліковано: 24 грудня 2019 Share Опубліковано: 24 грудня 2019 29 минут назад, flai0616 сказал: Грубо говоря - пишете скрипт, который получает текущее значение, прибавляет к нему 3 и записывает обратно в БД. Ставите выполнение по cron раз в сутки и все) UPDATE table SET table.field = table.field + 3 не годится? Ну и если правильно погуглить то видим по заросу cron mysql query Первая же ссылка на стаковерфлоу и очень простое решение задачи personally find it easier use MySQL event scheduler than cron. Enable it with SET GLOBAL event_scheduler = ON; and create an event like this: CREATE EVENT name_of_event ON SCHEDULE EVERY 1 DAY STARTS '2014-01-18 00:00:00' DO DELETE FROM tbl_message WHERE DATEDIFF( NOW( ) , timestamp ) >=7; and that's it. Надіслати Поділитися на інших сайтах More sharing options... anboza Опубліковано: 24 грудня 2019 Автор Share Опубліковано: 24 грудня 2019 но это же жесть ((( а зачем тогда вообще сервер БД? для того, чтобы просто таблицы хранить? Надіслати Поділитися на інших сайтах More sharing options... anboza Опубліковано: 24 грудня 2019 Автор Share Опубліковано: 24 грудня 2019 1 минуту назад, nikifalex сказал: а если сервер случайно выключили во время когда должно сработать событие? ну так в том и соль, что триггер должен сработать не просто "в момент", а по состоянию на момент...и так он и работает в "нормальных" СУБД Надіслати Поділитися на інших сайтах More sharing options... i3bepb Опубліковано: 25 грудня 2019 Share Опубліковано: 25 грудня 2019 10 часов назад, anboza сказал: ну так в том и соль, что триггер должен сработать не просто "в момент", а по состоянию на момент Ну можно придумать такой алгоритм. Создать триггер на select из этой таблицы. Делаем хранилище для метки, которая помогает определять добавлять +3 или нет, например еще таблицу. В триггере такой примерно алгоритм - смотреть текущее время и сравниваем ее с меткой, в метке может быть текущее время с прошлого добавления +3, делаем вывод надо ли добавлять +3 или нет, если надо, то добавляем и обновляем метку, если нет, то ничего не делаем. Но я бы так не делал. Лучше в коде php обложить select-ы из той таблицы проверкой по аналогичному алгоритму, это будет легче поддерживать. Надіслати Поділитися на інших сайтах More sharing options... chukcha Опубліковано: 25 грудня 2019 Share Опубліковано: 25 грудня 2019 3 часа назад, i3bepb сказал: Создать триггер на select из этой таблицы. расскажите - как Надіслати Поділитися на інших сайтах More sharing options... anboza Опубліковано: 25 грудня 2019 Автор Share Опубліковано: 25 грудня 2019 3 часа назад, nikifalex сказал: пока нет понимания, для чего это надо вопрошающему, все потуги как то решить проблему, тщетны. я в первом посте описал задачу. она именно так и выглядит. результат этого состояния счетчика, просто будет выводиться на фронте, в блоке типа "наш сервис посетило" столько-то людей. Надіслати Поділитися на інших сайтах More sharing options... anboza Опубліковано: 25 грудня 2019 Автор Share Опубліковано: 25 грудня 2019 4 часа назад, i3bepb сказал: Создать триггер на select из этой таблицы. ну как бы вариант, но уж больно он громоздкий. Ну и не факт, что обращение будет каждый день. Соответственно нужно не просто проверять дату обновления, но и вычислять разность и потом умножать накол-во пропущенных дней... Я же ищу вариант решения, чтобы задача выполнялась просто на сервере. Каждый день, вне зависимости от селектов и апдейтов каких-либо данных... Но сдается мне, что это не про mysql, судя по обсуждению... Надіслати Поділитися на інших сайтах More sharing options... chukcha Опубліковано: 25 грудня 2019 Share Опубліковано: 25 грудня 2019 26 минут назад, anboza сказал: Я же ищу вариант решения, чтобы задача выполнялась просто на сервере. Каждый день, вне зависимости от селектов и апдейтов каких-либо данных... 15 часов назад, Yoda сказал: and create an event like this: CREATE EVENT name_of_event ON SCHEDULE EVERY 1 DAY STARTS '2014-01-18 00:00:00' DO DELETE FROM tbl_message WHERE DATEDIFF( NOW( ) , timestamp ) >=7; and that's it. Что здесь не так? Надіслати Поділитися на інших сайтах More sharing options... i3bepb Опубліковано: 25 грудня 2019 Share Опубліковано: 25 грудня 2019 27 минут назад, anboza сказал: Каждый день, вне зависимости от селектов и апдейтов каких-либо данных... Такие вариант выше же предлагали 16 часов назад, flai0616 сказал: Грубо говоря - пишете скрипт, который получает текущее значение, прибавляет к нему 3 и записывает обратно в БД. Ставите выполнение по cron раз в сутки и все) 15 часов назад, Yoda сказал: Ну и если правильно погуглить то видим по заросу cron mysql query Первая же ссылка на стаковерфлоу и очень простое решение задачи personally find it easier use MySQL event scheduler than cron. Enable it with SET GLOBAL event_scheduler = ON; and create an event like this: CREATE EVENT name_of_event ON SCHEDULE EVERY 1 DAY STARTS '2014-01-18 00:00:00' DO DELETE FROM tbl_message WHERE DATEDIFF( NOW( ) , timestamp ) >=7; and that's it. Надіслати Поділитися на інших сайтах More sharing options... i3bepb Опубліковано: 25 грудня 2019 Share Опубліковано: 25 грудня 2019 1 час назад, chukcha сказал: расскажите - как Да Вы правы на select триггер не навешать, но если погуглить, то например предлагается вариант через хранимые процедуры, т.е. вместо select-а на прямую делается процедура, которая будет оберткой и уже в ней алгоритм. Возможно еще какие-то решения найдутся как это сделать. Надіслати Поділитися на інших сайтах More sharing options... chukcha Опубліковано: 25 грудня 2019 Share Опубліковано: 25 грудня 2019 Самое простое крон Более менее управляемо, и вычисляемо Таски (евентсы) о них нужно знать, помнить и использовать, но это должно быть в ГДЕ- ТО - Внимание Есть events Надіслати Поділитися на інших сайтах More sharing options... anboza Опубліковано: 25 грудня 2019 Автор Share Опубліковано: 25 грудня 2019 Только что, chukcha сказал: Что здесь не так? здесь все так, просто пояснял суть заданного вопроса. Надіслати Поділитися на інших сайтах More sharing options... Yoda Опубліковано: 25 грудня 2019 Share Опубліковано: 25 грудня 2019 Я с вас со всех худею дорогая редакция. Откуда столько глупостей в голове? 1. Если падает сервер и не срабатывает sheduled task - надо просто менять сервер. 2. Любые хранимые процедуры, триггеры и таски в базе - в конечном итоге оборачиваются некой головной болью при смене окружения, особенно если используется shared хостинг. 3. Нет принципиальной разницы это cron скрипт php, cron команда mysql или bash скрипт. Это все серверные пережитки и они все обладают одним большим недостатком - при смене окружения, паролей в базу, пользователя базы, про них можно случайно забыть. 4. Если делать совсем дубово в рамках идеи opencart - надо делать какой то шедаллер в виде событий при инициализации генераций страниц с файлом или записью базы содержащими временную метку последнго успешного события. Если вы уверены в своих силах и втом, что вы не забудете перенести кроны - крон. Если знаете как решить потенциальные проблемы с пользователем, от которого работюат триггеры и процедуры - делайте в базе. В том или ином виде задача решается однозначно и малыми костами. Просто кому то удобно за 10 минут скрипт сваять, а кому то в базу пару запросов воткнуть. Единого верного решения здесь быть не может. Следуйте принципу write less do more и будет вам счастье! Надіслати Поділитися на інших сайтах More sharing options... Otvet Опубліковано: 25 грудня 2019 Share Опубліковано: 25 грудня 2019 так и не понял, зачем писать в базу? 12 часов назад, anboza сказал: просто будет выводиться на фронте В 24.12.2019 в 20:53, anboza сказал: Пример: исходное = 100, каждый день к этому значению, должно прибавляться +3, т.е. в понедельник = 100, вторник = 103, среда = 106 и так далее. echo (100+floor(($now_date - $start_date) / 86400)*3) 1 Надіслати Поділитися на інших сайтах More sharing options... anboza Опубліковано: 25 грудня 2019 Автор Share Опубліковано: 25 грудня 2019 Только что, Otvet сказал: так и не понял, зачем писать в базу? в базу писать для того, чтобы обрабатывать не на клиенте. И в клиента передавать 1 конечное значение, а не передавать значение, плодить переменные и потом все это обрабатывать. Речь об оптимальном решении, с возможностью использовать преимущество наличия БД. Только что, Yoda сказал: Просто кому то удобно за 10 минут скрипт сваять, а кому то в базу пару запросов воткнуть. Единого верного решения здесь быть не может. Для того и обсуждаем на форуме)) В любом случае, я благодарен всем участникам дискуссии, за версии, мысли и предложения ))) Надіслати Поділитися на інших сайтах More sharing options... Створіть аккаунт або увійдіть для коментування Ви повинні бути користувачем, щоб залишити коментар Створити обліковий запис Зареєструйтеся для отримання облікового запису. Це просто! Зареєструвати аккаунт Вхід Уже зареєстровані? Увійдіть тут. Вхід зараз Share More sharing options... Передплатники 0 Перейти до списку тем Зараз на сторінці 0 користувачів Ні користувачів, які переглядиють цю сторінку Последние темы Последние дополнения Последние новости Вся активність Головна Підтримка та відповіді на запитання. Допомога програмістам та розробникам Mysql+ trigger Покупцям Оплата розширень фізичними особами Оплата розширень юридичними особами Політика повернень Розробникам Регламент розміщення розширень Регламент продажу та підтримки розширень Віртуальний обліковий запис автора Політика просування оголошень API каталогу розширень Вирішення спорів щодо авторських прав Корисна інформація Публічна оферта Політика повернень Політика конфіденційності Платіжна політика Політика передачі особистих даних Політика прозорості Останні розширення Повний пакет SEO Автор: GeekoDev SameSite Session Fix Opencart 3 Автор: web_bond SP Telegram повідомлення FREE Автор: spectre Відключити порожні категорії Автор: spectre SEO Автор тексту категорії / фільтра / блогу з датою оновлення контенту + мікророзмітка Автор: radaevich × Уже зареєстровані? Ввійти Реєстрація Ваші замовлення Назад Придбані модулі та шаблони Ваші рахунки Лист очікувань Альтернативні контакти Форум Новини ocStore Назад Офіційний сайт Демо ocStore 3.0.3.2 Демо ocStore 2.3.0.2.4 Завантажити ocStore Документація Історія версій ocStore Блоги Модулі Шаблони Назад Безкоштовні шаблони Платні шаблони Де купувати модулі? Послуги FAQ OpenCart.Pro Назад Демо Купити Порівняння × Створити... Important Information На нашому сайті використовуються файли cookie і відбувається обробка деяких персональних даних користувачів, щоб поліпшити користувальницький інтерфейс. Щоб дізнатися для чого і які персональні дані ми обробляємо перейдіть за посиланням . Якщо Ви натиснете «Я даю згоду», це означає, що Ви розумієте і приймаєте всі умови, зазначені в цьому Повідомленні про конфіденційність. Я даю згоду
Yoda Опубліковано: 24 грудня 2019 Share Опубліковано: 24 грудня 2019 29 минут назад, flai0616 сказал: Грубо говоря - пишете скрипт, который получает текущее значение, прибавляет к нему 3 и записывает обратно в БД. Ставите выполнение по cron раз в сутки и все) UPDATE table SET table.field = table.field + 3 не годится? Ну и если правильно погуглить то видим по заросу cron mysql query Первая же ссылка на стаковерфлоу и очень простое решение задачи personally find it easier use MySQL event scheduler than cron. Enable it with SET GLOBAL event_scheduler = ON; and create an event like this: CREATE EVENT name_of_event ON SCHEDULE EVERY 1 DAY STARTS '2014-01-18 00:00:00' DO DELETE FROM tbl_message WHERE DATEDIFF( NOW( ) , timestamp ) >=7; and that's it. Надіслати Поділитися на інших сайтах More sharing options...
anboza Опубліковано: 24 грудня 2019 Автор Share Опубліковано: 24 грудня 2019 но это же жесть ((( а зачем тогда вообще сервер БД? для того, чтобы просто таблицы хранить? Надіслати Поділитися на інших сайтах More sharing options... anboza Опубліковано: 24 грудня 2019 Автор Share Опубліковано: 24 грудня 2019 1 минуту назад, nikifalex сказал: а если сервер случайно выключили во время когда должно сработать событие? ну так в том и соль, что триггер должен сработать не просто "в момент", а по состоянию на момент...и так он и работает в "нормальных" СУБД Надіслати Поділитися на інших сайтах More sharing options... i3bepb Опубліковано: 25 грудня 2019 Share Опубліковано: 25 грудня 2019 10 часов назад, anboza сказал: ну так в том и соль, что триггер должен сработать не просто "в момент", а по состоянию на момент Ну можно придумать такой алгоритм. Создать триггер на select из этой таблицы. Делаем хранилище для метки, которая помогает определять добавлять +3 или нет, например еще таблицу. В триггере такой примерно алгоритм - смотреть текущее время и сравниваем ее с меткой, в метке может быть текущее время с прошлого добавления +3, делаем вывод надо ли добавлять +3 или нет, если надо, то добавляем и обновляем метку, если нет, то ничего не делаем. Но я бы так не делал. Лучше в коде php обложить select-ы из той таблицы проверкой по аналогичному алгоритму, это будет легче поддерживать. Надіслати Поділитися на інших сайтах More sharing options... chukcha Опубліковано: 25 грудня 2019 Share Опубліковано: 25 грудня 2019 3 часа назад, i3bepb сказал: Создать триггер на select из этой таблицы. расскажите - как Надіслати Поділитися на інших сайтах More sharing options... anboza Опубліковано: 25 грудня 2019 Автор Share Опубліковано: 25 грудня 2019 3 часа назад, nikifalex сказал: пока нет понимания, для чего это надо вопрошающему, все потуги как то решить проблему, тщетны. я в первом посте описал задачу. она именно так и выглядит. результат этого состояния счетчика, просто будет выводиться на фронте, в блоке типа "наш сервис посетило" столько-то людей. Надіслати Поділитися на інших сайтах More sharing options... anboza Опубліковано: 25 грудня 2019 Автор Share Опубліковано: 25 грудня 2019 4 часа назад, i3bepb сказал: Создать триггер на select из этой таблицы. ну как бы вариант, но уж больно он громоздкий. Ну и не факт, что обращение будет каждый день. Соответственно нужно не просто проверять дату обновления, но и вычислять разность и потом умножать накол-во пропущенных дней... Я же ищу вариант решения, чтобы задача выполнялась просто на сервере. Каждый день, вне зависимости от селектов и апдейтов каких-либо данных... Но сдается мне, что это не про mysql, судя по обсуждению... Надіслати Поділитися на інших сайтах More sharing options... chukcha Опубліковано: 25 грудня 2019 Share Опубліковано: 25 грудня 2019 26 минут назад, anboza сказал: Я же ищу вариант решения, чтобы задача выполнялась просто на сервере. Каждый день, вне зависимости от селектов и апдейтов каких-либо данных... 15 часов назад, Yoda сказал: and create an event like this: CREATE EVENT name_of_event ON SCHEDULE EVERY 1 DAY STARTS '2014-01-18 00:00:00' DO DELETE FROM tbl_message WHERE DATEDIFF( NOW( ) , timestamp ) >=7; and that's it. Что здесь не так? Надіслати Поділитися на інших сайтах More sharing options... i3bepb Опубліковано: 25 грудня 2019 Share Опубліковано: 25 грудня 2019 27 минут назад, anboza сказал: Каждый день, вне зависимости от селектов и апдейтов каких-либо данных... Такие вариант выше же предлагали 16 часов назад, flai0616 сказал: Грубо говоря - пишете скрипт, который получает текущее значение, прибавляет к нему 3 и записывает обратно в БД. Ставите выполнение по cron раз в сутки и все) 15 часов назад, Yoda сказал: Ну и если правильно погуглить то видим по заросу cron mysql query Первая же ссылка на стаковерфлоу и очень простое решение задачи personally find it easier use MySQL event scheduler than cron. Enable it with SET GLOBAL event_scheduler = ON; and create an event like this: CREATE EVENT name_of_event ON SCHEDULE EVERY 1 DAY STARTS '2014-01-18 00:00:00' DO DELETE FROM tbl_message WHERE DATEDIFF( NOW( ) , timestamp ) >=7; and that's it. Надіслати Поділитися на інших сайтах More sharing options... i3bepb Опубліковано: 25 грудня 2019 Share Опубліковано: 25 грудня 2019 1 час назад, chukcha сказал: расскажите - как Да Вы правы на select триггер не навешать, но если погуглить, то например предлагается вариант через хранимые процедуры, т.е. вместо select-а на прямую делается процедура, которая будет оберткой и уже в ней алгоритм. Возможно еще какие-то решения найдутся как это сделать. Надіслати Поділитися на інших сайтах More sharing options... chukcha Опубліковано: 25 грудня 2019 Share Опубліковано: 25 грудня 2019 Самое простое крон Более менее управляемо, и вычисляемо Таски (евентсы) о них нужно знать, помнить и использовать, но это должно быть в ГДЕ- ТО - Внимание Есть events Надіслати Поділитися на інших сайтах More sharing options... anboza Опубліковано: 25 грудня 2019 Автор Share Опубліковано: 25 грудня 2019 Только что, chukcha сказал: Что здесь не так? здесь все так, просто пояснял суть заданного вопроса. Надіслати Поділитися на інших сайтах More sharing options... Yoda Опубліковано: 25 грудня 2019 Share Опубліковано: 25 грудня 2019 Я с вас со всех худею дорогая редакция. Откуда столько глупостей в голове? 1. Если падает сервер и не срабатывает sheduled task - надо просто менять сервер. 2. Любые хранимые процедуры, триггеры и таски в базе - в конечном итоге оборачиваются некой головной болью при смене окружения, особенно если используется shared хостинг. 3. Нет принципиальной разницы это cron скрипт php, cron команда mysql или bash скрипт. Это все серверные пережитки и они все обладают одним большим недостатком - при смене окружения, паролей в базу, пользователя базы, про них можно случайно забыть. 4. Если делать совсем дубово в рамках идеи opencart - надо делать какой то шедаллер в виде событий при инициализации генераций страниц с файлом или записью базы содержащими временную метку последнго успешного события. Если вы уверены в своих силах и втом, что вы не забудете перенести кроны - крон. Если знаете как решить потенциальные проблемы с пользователем, от которого работюат триггеры и процедуры - делайте в базе. В том или ином виде задача решается однозначно и малыми костами. Просто кому то удобно за 10 минут скрипт сваять, а кому то в базу пару запросов воткнуть. Единого верного решения здесь быть не может. Следуйте принципу write less do more и будет вам счастье! Надіслати Поділитися на інших сайтах More sharing options... Otvet Опубліковано: 25 грудня 2019 Share Опубліковано: 25 грудня 2019 так и не понял, зачем писать в базу? 12 часов назад, anboza сказал: просто будет выводиться на фронте В 24.12.2019 в 20:53, anboza сказал: Пример: исходное = 100, каждый день к этому значению, должно прибавляться +3, т.е. в понедельник = 100, вторник = 103, среда = 106 и так далее. echo (100+floor(($now_date - $start_date) / 86400)*3) 1 Надіслати Поділитися на інших сайтах More sharing options... anboza Опубліковано: 25 грудня 2019 Автор Share Опубліковано: 25 грудня 2019 Только что, Otvet сказал: так и не понял, зачем писать в базу? в базу писать для того, чтобы обрабатывать не на клиенте. И в клиента передавать 1 конечное значение, а не передавать значение, плодить переменные и потом все это обрабатывать. Речь об оптимальном решении, с возможностью использовать преимущество наличия БД. Только что, Yoda сказал: Просто кому то удобно за 10 минут скрипт сваять, а кому то в базу пару запросов воткнуть. Единого верного решения здесь быть не может. Для того и обсуждаем на форуме)) В любом случае, я благодарен всем участникам дискуссии, за версии, мысли и предложения ))) Надіслати Поділитися на інших сайтах More sharing options... Створіть аккаунт або увійдіть для коментування Ви повинні бути користувачем, щоб залишити коментар Створити обліковий запис Зареєструйтеся для отримання облікового запису. Це просто! Зареєструвати аккаунт Вхід Уже зареєстровані? Увійдіть тут. Вхід зараз Share More sharing options... Передплатники 0 Перейти до списку тем Зараз на сторінці 0 користувачів Ні користувачів, які переглядиють цю сторінку Последние темы Последние дополнения Последние новости Вся активність Головна Підтримка та відповіді на запитання. Допомога програмістам та розробникам Mysql+ trigger Покупцям Оплата розширень фізичними особами Оплата розширень юридичними особами Політика повернень Розробникам Регламент розміщення розширень Регламент продажу та підтримки розширень Віртуальний обліковий запис автора Політика просування оголошень API каталогу розширень Вирішення спорів щодо авторських прав Корисна інформація Публічна оферта Політика повернень Політика конфіденційності Платіжна політика Політика передачі особистих даних Політика прозорості Останні розширення Повний пакет SEO Автор: GeekoDev SameSite Session Fix Opencart 3 Автор: web_bond SP Telegram повідомлення FREE Автор: spectre Відключити порожні категорії Автор: spectre SEO Автор тексту категорії / фільтра / блогу з датою оновлення контенту + мікророзмітка Автор: radaevich × Уже зареєстровані? Ввійти Реєстрація Ваші замовлення Назад Придбані модулі та шаблони Ваші рахунки Лист очікувань Альтернативні контакти Форум Новини ocStore Назад Офіційний сайт Демо ocStore 3.0.3.2 Демо ocStore 2.3.0.2.4 Завантажити ocStore Документація Історія версій ocStore Блоги Модулі Шаблони Назад Безкоштовні шаблони Платні шаблони Де купувати модулі? Послуги FAQ OpenCart.Pro Назад Демо Купити Порівняння × Створити... Important Information На нашому сайті використовуються файли cookie і відбувається обробка деяких персональних даних користувачів, щоб поліпшити користувальницький інтерфейс. Щоб дізнатися для чого і які персональні дані ми обробляємо перейдіть за посиланням . Якщо Ви натиснете «Я даю згоду», це означає, що Ви розумієте і приймаєте всі умови, зазначені в цьому Повідомленні про конфіденційність. Я даю згоду
anboza Опубліковано: 24 грудня 2019 Автор Share Опубліковано: 24 грудня 2019 1 минуту назад, nikifalex сказал: а если сервер случайно выключили во время когда должно сработать событие? ну так в том и соль, что триггер должен сработать не просто "в момент", а по состоянию на момент...и так он и работает в "нормальных" СУБД Надіслати Поділитися на інших сайтах More sharing options... i3bepb Опубліковано: 25 грудня 2019 Share Опубліковано: 25 грудня 2019 10 часов назад, anboza сказал: ну так в том и соль, что триггер должен сработать не просто "в момент", а по состоянию на момент Ну можно придумать такой алгоритм. Создать триггер на select из этой таблицы. Делаем хранилище для метки, которая помогает определять добавлять +3 или нет, например еще таблицу. В триггере такой примерно алгоритм - смотреть текущее время и сравниваем ее с меткой, в метке может быть текущее время с прошлого добавления +3, делаем вывод надо ли добавлять +3 или нет, если надо, то добавляем и обновляем метку, если нет, то ничего не делаем. Но я бы так не делал. Лучше в коде php обложить select-ы из той таблицы проверкой по аналогичному алгоритму, это будет легче поддерживать. Надіслати Поділитися на інших сайтах More sharing options... chukcha Опубліковано: 25 грудня 2019 Share Опубліковано: 25 грудня 2019 3 часа назад, i3bepb сказал: Создать триггер на select из этой таблицы. расскажите - как Надіслати Поділитися на інших сайтах More sharing options... anboza Опубліковано: 25 грудня 2019 Автор Share Опубліковано: 25 грудня 2019 3 часа назад, nikifalex сказал: пока нет понимания, для чего это надо вопрошающему, все потуги как то решить проблему, тщетны. я в первом посте описал задачу. она именно так и выглядит. результат этого состояния счетчика, просто будет выводиться на фронте, в блоке типа "наш сервис посетило" столько-то людей. Надіслати Поділитися на інших сайтах More sharing options... anboza Опубліковано: 25 грудня 2019 Автор Share Опубліковано: 25 грудня 2019 4 часа назад, i3bepb сказал: Создать триггер на select из этой таблицы. ну как бы вариант, но уж больно он громоздкий. Ну и не факт, что обращение будет каждый день. Соответственно нужно не просто проверять дату обновления, но и вычислять разность и потом умножать накол-во пропущенных дней... Я же ищу вариант решения, чтобы задача выполнялась просто на сервере. Каждый день, вне зависимости от селектов и апдейтов каких-либо данных... Но сдается мне, что это не про mysql, судя по обсуждению... Надіслати Поділитися на інших сайтах More sharing options... chukcha Опубліковано: 25 грудня 2019 Share Опубліковано: 25 грудня 2019 26 минут назад, anboza сказал: Я же ищу вариант решения, чтобы задача выполнялась просто на сервере. Каждый день, вне зависимости от селектов и апдейтов каких-либо данных... 15 часов назад, Yoda сказал: and create an event like this: CREATE EVENT name_of_event ON SCHEDULE EVERY 1 DAY STARTS '2014-01-18 00:00:00' DO DELETE FROM tbl_message WHERE DATEDIFF( NOW( ) , timestamp ) >=7; and that's it. Что здесь не так? Надіслати Поділитися на інших сайтах More sharing options... i3bepb Опубліковано: 25 грудня 2019 Share Опубліковано: 25 грудня 2019 27 минут назад, anboza сказал: Каждый день, вне зависимости от селектов и апдейтов каких-либо данных... Такие вариант выше же предлагали 16 часов назад, flai0616 сказал: Грубо говоря - пишете скрипт, который получает текущее значение, прибавляет к нему 3 и записывает обратно в БД. Ставите выполнение по cron раз в сутки и все) 15 часов назад, Yoda сказал: Ну и если правильно погуглить то видим по заросу cron mysql query Первая же ссылка на стаковерфлоу и очень простое решение задачи personally find it easier use MySQL event scheduler than cron. Enable it with SET GLOBAL event_scheduler = ON; and create an event like this: CREATE EVENT name_of_event ON SCHEDULE EVERY 1 DAY STARTS '2014-01-18 00:00:00' DO DELETE FROM tbl_message WHERE DATEDIFF( NOW( ) , timestamp ) >=7; and that's it. Надіслати Поділитися на інших сайтах More sharing options... i3bepb Опубліковано: 25 грудня 2019 Share Опубліковано: 25 грудня 2019 1 час назад, chukcha сказал: расскажите - как Да Вы правы на select триггер не навешать, но если погуглить, то например предлагается вариант через хранимые процедуры, т.е. вместо select-а на прямую делается процедура, которая будет оберткой и уже в ней алгоритм. Возможно еще какие-то решения найдутся как это сделать. Надіслати Поділитися на інших сайтах More sharing options... chukcha Опубліковано: 25 грудня 2019 Share Опубліковано: 25 грудня 2019 Самое простое крон Более менее управляемо, и вычисляемо Таски (евентсы) о них нужно знать, помнить и использовать, но это должно быть в ГДЕ- ТО - Внимание Есть events Надіслати Поділитися на інших сайтах More sharing options... anboza Опубліковано: 25 грудня 2019 Автор Share Опубліковано: 25 грудня 2019 Только что, chukcha сказал: Что здесь не так? здесь все так, просто пояснял суть заданного вопроса. Надіслати Поділитися на інших сайтах More sharing options... Yoda Опубліковано: 25 грудня 2019 Share Опубліковано: 25 грудня 2019 Я с вас со всех худею дорогая редакция. Откуда столько глупостей в голове? 1. Если падает сервер и не срабатывает sheduled task - надо просто менять сервер. 2. Любые хранимые процедуры, триггеры и таски в базе - в конечном итоге оборачиваются некой головной болью при смене окружения, особенно если используется shared хостинг. 3. Нет принципиальной разницы это cron скрипт php, cron команда mysql или bash скрипт. Это все серверные пережитки и они все обладают одним большим недостатком - при смене окружения, паролей в базу, пользователя базы, про них можно случайно забыть. 4. Если делать совсем дубово в рамках идеи opencart - надо делать какой то шедаллер в виде событий при инициализации генераций страниц с файлом или записью базы содержащими временную метку последнго успешного события. Если вы уверены в своих силах и втом, что вы не забудете перенести кроны - крон. Если знаете как решить потенциальные проблемы с пользователем, от которого работюат триггеры и процедуры - делайте в базе. В том или ином виде задача решается однозначно и малыми костами. Просто кому то удобно за 10 минут скрипт сваять, а кому то в базу пару запросов воткнуть. Единого верного решения здесь быть не может. Следуйте принципу write less do more и будет вам счастье! Надіслати Поділитися на інших сайтах More sharing options... Otvet Опубліковано: 25 грудня 2019 Share Опубліковано: 25 грудня 2019 так и не понял, зачем писать в базу? 12 часов назад, anboza сказал: просто будет выводиться на фронте В 24.12.2019 в 20:53, anboza сказал: Пример: исходное = 100, каждый день к этому значению, должно прибавляться +3, т.е. в понедельник = 100, вторник = 103, среда = 106 и так далее. echo (100+floor(($now_date - $start_date) / 86400)*3) 1 Надіслати Поділитися на інших сайтах More sharing options... anboza Опубліковано: 25 грудня 2019 Автор Share Опубліковано: 25 грудня 2019 Только что, Otvet сказал: так и не понял, зачем писать в базу? в базу писать для того, чтобы обрабатывать не на клиенте. И в клиента передавать 1 конечное значение, а не передавать значение, плодить переменные и потом все это обрабатывать. Речь об оптимальном решении, с возможностью использовать преимущество наличия БД. Только что, Yoda сказал: Просто кому то удобно за 10 минут скрипт сваять, а кому то в базу пару запросов воткнуть. Единого верного решения здесь быть не может. Для того и обсуждаем на форуме)) В любом случае, я благодарен всем участникам дискуссии, за версии, мысли и предложения ))) Надіслати Поділитися на інших сайтах More sharing options... Створіть аккаунт або увійдіть для коментування Ви повинні бути користувачем, щоб залишити коментар Створити обліковий запис Зареєструйтеся для отримання облікового запису. Це просто! Зареєструвати аккаунт Вхід Уже зареєстровані? Увійдіть тут. Вхід зараз Share More sharing options... Передплатники 0 Перейти до списку тем Зараз на сторінці 0 користувачів Ні користувачів, які переглядиють цю сторінку Последние темы Последние дополнения Последние новости Вся активність Головна Підтримка та відповіді на запитання. Допомога програмістам та розробникам Mysql+ trigger Покупцям Оплата розширень фізичними особами Оплата розширень юридичними особами Політика повернень Розробникам Регламент розміщення розширень Регламент продажу та підтримки розширень Віртуальний обліковий запис автора Політика просування оголошень API каталогу розширень Вирішення спорів щодо авторських прав Корисна інформація Публічна оферта Політика повернень Політика конфіденційності Платіжна політика Політика передачі особистих даних Політика прозорості Останні розширення Повний пакет SEO Автор: GeekoDev SameSite Session Fix Opencart 3 Автор: web_bond SP Telegram повідомлення FREE Автор: spectre Відключити порожні категорії Автор: spectre SEO Автор тексту категорії / фільтра / блогу з датою оновлення контенту + мікророзмітка Автор: radaevich × Уже зареєстровані? Ввійти Реєстрація Ваші замовлення Назад Придбані модулі та шаблони Ваші рахунки Лист очікувань Альтернативні контакти Форум Новини ocStore Назад Офіційний сайт Демо ocStore 3.0.3.2 Демо ocStore 2.3.0.2.4 Завантажити ocStore Документація Історія версій ocStore Блоги Модулі Шаблони Назад Безкоштовні шаблони Платні шаблони Де купувати модулі? Послуги FAQ OpenCart.Pro Назад Демо Купити Порівняння × Створити... Important Information На нашому сайті використовуються файли cookie і відбувається обробка деяких персональних даних користувачів, щоб поліпшити користувальницький інтерфейс. Щоб дізнатися для чого і які персональні дані ми обробляємо перейдіть за посиланням . Якщо Ви натиснете «Я даю згоду», це означає, що Ви розумієте і приймаєте всі умови, зазначені в цьому Повідомленні про конфіденційність. Я даю згоду
i3bepb Опубліковано: 25 грудня 2019 Share Опубліковано: 25 грудня 2019 10 часов назад, anboza сказал: ну так в том и соль, что триггер должен сработать не просто "в момент", а по состоянию на момент Ну можно придумать такой алгоритм. Создать триггер на select из этой таблицы. Делаем хранилище для метки, которая помогает определять добавлять +3 или нет, например еще таблицу. В триггере такой примерно алгоритм - смотреть текущее время и сравниваем ее с меткой, в метке может быть текущее время с прошлого добавления +3, делаем вывод надо ли добавлять +3 или нет, если надо, то добавляем и обновляем метку, если нет, то ничего не делаем. Но я бы так не делал. Лучше в коде php обложить select-ы из той таблицы проверкой по аналогичному алгоритму, это будет легче поддерживать. Надіслати Поділитися на інших сайтах More sharing options...
chukcha Опубліковано: 25 грудня 2019 Share Опубліковано: 25 грудня 2019 3 часа назад, i3bepb сказал: Создать триггер на select из этой таблицы. расскажите - как Надіслати Поділитися на інших сайтах More sharing options... anboza Опубліковано: 25 грудня 2019 Автор Share Опубліковано: 25 грудня 2019 3 часа назад, nikifalex сказал: пока нет понимания, для чего это надо вопрошающему, все потуги как то решить проблему, тщетны. я в первом посте описал задачу. она именно так и выглядит. результат этого состояния счетчика, просто будет выводиться на фронте, в блоке типа "наш сервис посетило" столько-то людей. Надіслати Поділитися на інших сайтах More sharing options... anboza Опубліковано: 25 грудня 2019 Автор Share Опубліковано: 25 грудня 2019 4 часа назад, i3bepb сказал: Создать триггер на select из этой таблицы. ну как бы вариант, но уж больно он громоздкий. Ну и не факт, что обращение будет каждый день. Соответственно нужно не просто проверять дату обновления, но и вычислять разность и потом умножать накол-во пропущенных дней... Я же ищу вариант решения, чтобы задача выполнялась просто на сервере. Каждый день, вне зависимости от селектов и апдейтов каких-либо данных... Но сдается мне, что это не про mysql, судя по обсуждению... Надіслати Поділитися на інших сайтах More sharing options... chukcha Опубліковано: 25 грудня 2019 Share Опубліковано: 25 грудня 2019 26 минут назад, anboza сказал: Я же ищу вариант решения, чтобы задача выполнялась просто на сервере. Каждый день, вне зависимости от селектов и апдейтов каких-либо данных... 15 часов назад, Yoda сказал: and create an event like this: CREATE EVENT name_of_event ON SCHEDULE EVERY 1 DAY STARTS '2014-01-18 00:00:00' DO DELETE FROM tbl_message WHERE DATEDIFF( NOW( ) , timestamp ) >=7; and that's it. Что здесь не так? Надіслати Поділитися на інших сайтах More sharing options... i3bepb Опубліковано: 25 грудня 2019 Share Опубліковано: 25 грудня 2019 27 минут назад, anboza сказал: Каждый день, вне зависимости от селектов и апдейтов каких-либо данных... Такие вариант выше же предлагали 16 часов назад, flai0616 сказал: Грубо говоря - пишете скрипт, который получает текущее значение, прибавляет к нему 3 и записывает обратно в БД. Ставите выполнение по cron раз в сутки и все) 15 часов назад, Yoda сказал: Ну и если правильно погуглить то видим по заросу cron mysql query Первая же ссылка на стаковерфлоу и очень простое решение задачи personally find it easier use MySQL event scheduler than cron. Enable it with SET GLOBAL event_scheduler = ON; and create an event like this: CREATE EVENT name_of_event ON SCHEDULE EVERY 1 DAY STARTS '2014-01-18 00:00:00' DO DELETE FROM tbl_message WHERE DATEDIFF( NOW( ) , timestamp ) >=7; and that's it. Надіслати Поділитися на інших сайтах More sharing options... i3bepb Опубліковано: 25 грудня 2019 Share Опубліковано: 25 грудня 2019 1 час назад, chukcha сказал: расскажите - как Да Вы правы на select триггер не навешать, но если погуглить, то например предлагается вариант через хранимые процедуры, т.е. вместо select-а на прямую делается процедура, которая будет оберткой и уже в ней алгоритм. Возможно еще какие-то решения найдутся как это сделать. Надіслати Поділитися на інших сайтах More sharing options... chukcha Опубліковано: 25 грудня 2019 Share Опубліковано: 25 грудня 2019 Самое простое крон Более менее управляемо, и вычисляемо Таски (евентсы) о них нужно знать, помнить и использовать, но это должно быть в ГДЕ- ТО - Внимание Есть events Надіслати Поділитися на інших сайтах More sharing options... anboza Опубліковано: 25 грудня 2019 Автор Share Опубліковано: 25 грудня 2019 Только что, chukcha сказал: Что здесь не так? здесь все так, просто пояснял суть заданного вопроса. Надіслати Поділитися на інших сайтах More sharing options... Yoda Опубліковано: 25 грудня 2019 Share Опубліковано: 25 грудня 2019 Я с вас со всех худею дорогая редакция. Откуда столько глупостей в голове? 1. Если падает сервер и не срабатывает sheduled task - надо просто менять сервер. 2. Любые хранимые процедуры, триггеры и таски в базе - в конечном итоге оборачиваются некой головной болью при смене окружения, особенно если используется shared хостинг. 3. Нет принципиальной разницы это cron скрипт php, cron команда mysql или bash скрипт. Это все серверные пережитки и они все обладают одним большим недостатком - при смене окружения, паролей в базу, пользователя базы, про них можно случайно забыть. 4. Если делать совсем дубово в рамках идеи opencart - надо делать какой то шедаллер в виде событий при инициализации генераций страниц с файлом или записью базы содержащими временную метку последнго успешного события. Если вы уверены в своих силах и втом, что вы не забудете перенести кроны - крон. Если знаете как решить потенциальные проблемы с пользователем, от которого работюат триггеры и процедуры - делайте в базе. В том или ином виде задача решается однозначно и малыми костами. Просто кому то удобно за 10 минут скрипт сваять, а кому то в базу пару запросов воткнуть. Единого верного решения здесь быть не может. Следуйте принципу write less do more и будет вам счастье! Надіслати Поділитися на інших сайтах More sharing options... Otvet Опубліковано: 25 грудня 2019 Share Опубліковано: 25 грудня 2019 так и не понял, зачем писать в базу? 12 часов назад, anboza сказал: просто будет выводиться на фронте В 24.12.2019 в 20:53, anboza сказал: Пример: исходное = 100, каждый день к этому значению, должно прибавляться +3, т.е. в понедельник = 100, вторник = 103, среда = 106 и так далее. echo (100+floor(($now_date - $start_date) / 86400)*3) 1 Надіслати Поділитися на інших сайтах More sharing options... anboza Опубліковано: 25 грудня 2019 Автор Share Опубліковано: 25 грудня 2019 Только что, Otvet сказал: так и не понял, зачем писать в базу? в базу писать для того, чтобы обрабатывать не на клиенте. И в клиента передавать 1 конечное значение, а не передавать значение, плодить переменные и потом все это обрабатывать. Речь об оптимальном решении, с возможностью использовать преимущество наличия БД. Только что, Yoda сказал: Просто кому то удобно за 10 минут скрипт сваять, а кому то в базу пару запросов воткнуть. Единого верного решения здесь быть не может. Для того и обсуждаем на форуме)) В любом случае, я благодарен всем участникам дискуссии, за версии, мысли и предложения ))) Надіслати Поділитися на інших сайтах More sharing options... Створіть аккаунт або увійдіть для коментування Ви повинні бути користувачем, щоб залишити коментар Створити обліковий запис Зареєструйтеся для отримання облікового запису. Це просто! Зареєструвати аккаунт Вхід Уже зареєстровані? Увійдіть тут. Вхід зараз Share More sharing options... Передплатники 0 Перейти до списку тем Зараз на сторінці 0 користувачів Ні користувачів, які переглядиють цю сторінку Последние темы Последние дополнения Последние новости Вся активність Головна Підтримка та відповіді на запитання. Допомога програмістам та розробникам Mysql+ trigger Покупцям Оплата розширень фізичними особами Оплата розширень юридичними особами Політика повернень Розробникам Регламент розміщення розширень Регламент продажу та підтримки розширень Віртуальний обліковий запис автора Політика просування оголошень API каталогу розширень Вирішення спорів щодо авторських прав Корисна інформація Публічна оферта Політика повернень Політика конфіденційності Платіжна політика Політика передачі особистих даних Політика прозорості Останні розширення Повний пакет SEO Автор: GeekoDev SameSite Session Fix Opencart 3 Автор: web_bond SP Telegram повідомлення FREE Автор: spectre Відключити порожні категорії Автор: spectre SEO Автор тексту категорії / фільтра / блогу з датою оновлення контенту + мікророзмітка Автор: radaevich × Уже зареєстровані? Ввійти Реєстрація Ваші замовлення Назад Придбані модулі та шаблони Ваші рахунки Лист очікувань Альтернативні контакти Форум Новини ocStore Назад Офіційний сайт Демо ocStore 3.0.3.2 Демо ocStore 2.3.0.2.4 Завантажити ocStore Документація Історія версій ocStore Блоги Модулі Шаблони Назад Безкоштовні шаблони Платні шаблони Де купувати модулі? Послуги FAQ OpenCart.Pro Назад Демо Купити Порівняння × Створити... Important Information На нашому сайті використовуються файли cookie і відбувається обробка деяких персональних даних користувачів, щоб поліпшити користувальницький інтерфейс. Щоб дізнатися для чого і які персональні дані ми обробляємо перейдіть за посиланням . Якщо Ви натиснете «Я даю згоду», це означає, що Ви розумієте і приймаєте всі умови, зазначені в цьому Повідомленні про конфіденційність. Я даю згоду
anboza Опубліковано: 25 грудня 2019 Автор Share Опубліковано: 25 грудня 2019 3 часа назад, nikifalex сказал: пока нет понимания, для чего это надо вопрошающему, все потуги как то решить проблему, тщетны. я в первом посте описал задачу. она именно так и выглядит. результат этого состояния счетчика, просто будет выводиться на фронте, в блоке типа "наш сервис посетило" столько-то людей. Надіслати Поділитися на інших сайтах More sharing options... anboza Опубліковано: 25 грудня 2019 Автор Share Опубліковано: 25 грудня 2019 4 часа назад, i3bepb сказал: Создать триггер на select из этой таблицы. ну как бы вариант, но уж больно он громоздкий. Ну и не факт, что обращение будет каждый день. Соответственно нужно не просто проверять дату обновления, но и вычислять разность и потом умножать накол-во пропущенных дней... Я же ищу вариант решения, чтобы задача выполнялась просто на сервере. Каждый день, вне зависимости от селектов и апдейтов каких-либо данных... Но сдается мне, что это не про mysql, судя по обсуждению... Надіслати Поділитися на інших сайтах More sharing options... chukcha Опубліковано: 25 грудня 2019 Share Опубліковано: 25 грудня 2019 26 минут назад, anboza сказал: Я же ищу вариант решения, чтобы задача выполнялась просто на сервере. Каждый день, вне зависимости от селектов и апдейтов каких-либо данных... 15 часов назад, Yoda сказал: and create an event like this: CREATE EVENT name_of_event ON SCHEDULE EVERY 1 DAY STARTS '2014-01-18 00:00:00' DO DELETE FROM tbl_message WHERE DATEDIFF( NOW( ) , timestamp ) >=7; and that's it. Что здесь не так? Надіслати Поділитися на інших сайтах More sharing options... i3bepb Опубліковано: 25 грудня 2019 Share Опубліковано: 25 грудня 2019 27 минут назад, anboza сказал: Каждый день, вне зависимости от селектов и апдейтов каких-либо данных... Такие вариант выше же предлагали 16 часов назад, flai0616 сказал: Грубо говоря - пишете скрипт, который получает текущее значение, прибавляет к нему 3 и записывает обратно в БД. Ставите выполнение по cron раз в сутки и все) 15 часов назад, Yoda сказал: Ну и если правильно погуглить то видим по заросу cron mysql query Первая же ссылка на стаковерфлоу и очень простое решение задачи personally find it easier use MySQL event scheduler than cron. Enable it with SET GLOBAL event_scheduler = ON; and create an event like this: CREATE EVENT name_of_event ON SCHEDULE EVERY 1 DAY STARTS '2014-01-18 00:00:00' DO DELETE FROM tbl_message WHERE DATEDIFF( NOW( ) , timestamp ) >=7; and that's it. Надіслати Поділитися на інших сайтах More sharing options... i3bepb Опубліковано: 25 грудня 2019 Share Опубліковано: 25 грудня 2019 1 час назад, chukcha сказал: расскажите - как Да Вы правы на select триггер не навешать, но если погуглить, то например предлагается вариант через хранимые процедуры, т.е. вместо select-а на прямую делается процедура, которая будет оберткой и уже в ней алгоритм. Возможно еще какие-то решения найдутся как это сделать. Надіслати Поділитися на інших сайтах More sharing options... chukcha Опубліковано: 25 грудня 2019 Share Опубліковано: 25 грудня 2019 Самое простое крон Более менее управляемо, и вычисляемо Таски (евентсы) о них нужно знать, помнить и использовать, но это должно быть в ГДЕ- ТО - Внимание Есть events Надіслати Поділитися на інших сайтах More sharing options... anboza Опубліковано: 25 грудня 2019 Автор Share Опубліковано: 25 грудня 2019 Только что, chukcha сказал: Что здесь не так? здесь все так, просто пояснял суть заданного вопроса. Надіслати Поділитися на інших сайтах More sharing options... Yoda Опубліковано: 25 грудня 2019 Share Опубліковано: 25 грудня 2019 Я с вас со всех худею дорогая редакция. Откуда столько глупостей в голове? 1. Если падает сервер и не срабатывает sheduled task - надо просто менять сервер. 2. Любые хранимые процедуры, триггеры и таски в базе - в конечном итоге оборачиваются некой головной болью при смене окружения, особенно если используется shared хостинг. 3. Нет принципиальной разницы это cron скрипт php, cron команда mysql или bash скрипт. Это все серверные пережитки и они все обладают одним большим недостатком - при смене окружения, паролей в базу, пользователя базы, про них можно случайно забыть. 4. Если делать совсем дубово в рамках идеи opencart - надо делать какой то шедаллер в виде событий при инициализации генераций страниц с файлом или записью базы содержащими временную метку последнго успешного события. Если вы уверены в своих силах и втом, что вы не забудете перенести кроны - крон. Если знаете как решить потенциальные проблемы с пользователем, от которого работюат триггеры и процедуры - делайте в базе. В том или ином виде задача решается однозначно и малыми костами. Просто кому то удобно за 10 минут скрипт сваять, а кому то в базу пару запросов воткнуть. Единого верного решения здесь быть не может. Следуйте принципу write less do more и будет вам счастье! Надіслати Поділитися на інших сайтах More sharing options... Otvet Опубліковано: 25 грудня 2019 Share Опубліковано: 25 грудня 2019 так и не понял, зачем писать в базу? 12 часов назад, anboza сказал: просто будет выводиться на фронте В 24.12.2019 в 20:53, anboza сказал: Пример: исходное = 100, каждый день к этому значению, должно прибавляться +3, т.е. в понедельник = 100, вторник = 103, среда = 106 и так далее. echo (100+floor(($now_date - $start_date) / 86400)*3) 1 Надіслати Поділитися на інших сайтах More sharing options... anboza Опубліковано: 25 грудня 2019 Автор Share Опубліковано: 25 грудня 2019 Только что, Otvet сказал: так и не понял, зачем писать в базу? в базу писать для того, чтобы обрабатывать не на клиенте. И в клиента передавать 1 конечное значение, а не передавать значение, плодить переменные и потом все это обрабатывать. Речь об оптимальном решении, с возможностью использовать преимущество наличия БД. Только что, Yoda сказал: Просто кому то удобно за 10 минут скрипт сваять, а кому то в базу пару запросов воткнуть. Единого верного решения здесь быть не может. Для того и обсуждаем на форуме)) В любом случае, я благодарен всем участникам дискуссии, за версии, мысли и предложения ))) Надіслати Поділитися на інших сайтах More sharing options... Створіть аккаунт або увійдіть для коментування Ви повинні бути користувачем, щоб залишити коментар Створити обліковий запис Зареєструйтеся для отримання облікового запису. Це просто! Зареєструвати аккаунт Вхід Уже зареєстровані? Увійдіть тут. Вхід зараз Share More sharing options... Передплатники 0 Перейти до списку тем Зараз на сторінці 0 користувачів Ні користувачів, які переглядиють цю сторінку Последние темы Последние дополнения Последние новости Вся активність Головна Підтримка та відповіді на запитання. Допомога програмістам та розробникам Mysql+ trigger Покупцям Оплата розширень фізичними особами Оплата розширень юридичними особами Політика повернень Розробникам Регламент розміщення розширень Регламент продажу та підтримки розширень Віртуальний обліковий запис автора Політика просування оголошень API каталогу розширень Вирішення спорів щодо авторських прав Корисна інформація Публічна оферта Політика повернень Політика конфіденційності Платіжна політика Політика передачі особистих даних Політика прозорості Останні розширення Повний пакет SEO Автор: GeekoDev SameSite Session Fix Opencart 3 Автор: web_bond SP Telegram повідомлення FREE Автор: spectre Відключити порожні категорії Автор: spectre SEO Автор тексту категорії / фільтра / блогу з датою оновлення контенту + мікророзмітка Автор: radaevich × Уже зареєстровані? Ввійти Реєстрація Ваші замовлення Назад Придбані модулі та шаблони Ваші рахунки Лист очікувань Альтернативні контакти Форум Новини ocStore Назад Офіційний сайт Демо ocStore 3.0.3.2 Демо ocStore 2.3.0.2.4 Завантажити ocStore Документація Історія версій ocStore Блоги Модулі Шаблони Назад Безкоштовні шаблони Платні шаблони Де купувати модулі? Послуги FAQ OpenCart.Pro Назад Демо Купити Порівняння × Створити... Important Information На нашому сайті використовуються файли cookie і відбувається обробка деяких персональних даних користувачів, щоб поліпшити користувальницький інтерфейс. Щоб дізнатися для чого і які персональні дані ми обробляємо перейдіть за посиланням . Якщо Ви натиснете «Я даю згоду», це означає, що Ви розумієте і приймаєте всі умови, зазначені в цьому Повідомленні про конфіденційність. Я даю згоду
anboza Опубліковано: 25 грудня 2019 Автор Share Опубліковано: 25 грудня 2019 4 часа назад, i3bepb сказал: Создать триггер на select из этой таблицы. ну как бы вариант, но уж больно он громоздкий. Ну и не факт, что обращение будет каждый день. Соответственно нужно не просто проверять дату обновления, но и вычислять разность и потом умножать накол-во пропущенных дней... Я же ищу вариант решения, чтобы задача выполнялась просто на сервере. Каждый день, вне зависимости от селектов и апдейтов каких-либо данных... Но сдается мне, что это не про mysql, судя по обсуждению... Надіслати Поділитися на інших сайтах More sharing options... chukcha Опубліковано: 25 грудня 2019 Share Опубліковано: 25 грудня 2019 26 минут назад, anboza сказал: Я же ищу вариант решения, чтобы задача выполнялась просто на сервере. Каждый день, вне зависимости от селектов и апдейтов каких-либо данных... 15 часов назад, Yoda сказал: and create an event like this: CREATE EVENT name_of_event ON SCHEDULE EVERY 1 DAY STARTS '2014-01-18 00:00:00' DO DELETE FROM tbl_message WHERE DATEDIFF( NOW( ) , timestamp ) >=7; and that's it. Что здесь не так? Надіслати Поділитися на інших сайтах More sharing options... i3bepb Опубліковано: 25 грудня 2019 Share Опубліковано: 25 грудня 2019 27 минут назад, anboza сказал: Каждый день, вне зависимости от селектов и апдейтов каких-либо данных... Такие вариант выше же предлагали 16 часов назад, flai0616 сказал: Грубо говоря - пишете скрипт, который получает текущее значение, прибавляет к нему 3 и записывает обратно в БД. Ставите выполнение по cron раз в сутки и все) 15 часов назад, Yoda сказал: Ну и если правильно погуглить то видим по заросу cron mysql query Первая же ссылка на стаковерфлоу и очень простое решение задачи personally find it easier use MySQL event scheduler than cron. Enable it with SET GLOBAL event_scheduler = ON; and create an event like this: CREATE EVENT name_of_event ON SCHEDULE EVERY 1 DAY STARTS '2014-01-18 00:00:00' DO DELETE FROM tbl_message WHERE DATEDIFF( NOW( ) , timestamp ) >=7; and that's it. Надіслати Поділитися на інших сайтах More sharing options... i3bepb Опубліковано: 25 грудня 2019 Share Опубліковано: 25 грудня 2019 1 час назад, chukcha сказал: расскажите - как Да Вы правы на select триггер не навешать, но если погуглить, то например предлагается вариант через хранимые процедуры, т.е. вместо select-а на прямую делается процедура, которая будет оберткой и уже в ней алгоритм. Возможно еще какие-то решения найдутся как это сделать. Надіслати Поділитися на інших сайтах More sharing options... chukcha Опубліковано: 25 грудня 2019 Share Опубліковано: 25 грудня 2019 Самое простое крон Более менее управляемо, и вычисляемо Таски (евентсы) о них нужно знать, помнить и использовать, но это должно быть в ГДЕ- ТО - Внимание Есть events Надіслати Поділитися на інших сайтах More sharing options... anboza Опубліковано: 25 грудня 2019 Автор Share Опубліковано: 25 грудня 2019 Только что, chukcha сказал: Что здесь не так? здесь все так, просто пояснял суть заданного вопроса. Надіслати Поділитися на інших сайтах More sharing options... Yoda Опубліковано: 25 грудня 2019 Share Опубліковано: 25 грудня 2019 Я с вас со всех худею дорогая редакция. Откуда столько глупостей в голове? 1. Если падает сервер и не срабатывает sheduled task - надо просто менять сервер. 2. Любые хранимые процедуры, триггеры и таски в базе - в конечном итоге оборачиваются некой головной болью при смене окружения, особенно если используется shared хостинг. 3. Нет принципиальной разницы это cron скрипт php, cron команда mysql или bash скрипт. Это все серверные пережитки и они все обладают одним большим недостатком - при смене окружения, паролей в базу, пользователя базы, про них можно случайно забыть. 4. Если делать совсем дубово в рамках идеи opencart - надо делать какой то шедаллер в виде событий при инициализации генераций страниц с файлом или записью базы содержащими временную метку последнго успешного события. Если вы уверены в своих силах и втом, что вы не забудете перенести кроны - крон. Если знаете как решить потенциальные проблемы с пользователем, от которого работюат триггеры и процедуры - делайте в базе. В том или ином виде задача решается однозначно и малыми костами. Просто кому то удобно за 10 минут скрипт сваять, а кому то в базу пару запросов воткнуть. Единого верного решения здесь быть не может. Следуйте принципу write less do more и будет вам счастье! Надіслати Поділитися на інших сайтах More sharing options... Otvet Опубліковано: 25 грудня 2019 Share Опубліковано: 25 грудня 2019 так и не понял, зачем писать в базу? 12 часов назад, anboza сказал: просто будет выводиться на фронте В 24.12.2019 в 20:53, anboza сказал: Пример: исходное = 100, каждый день к этому значению, должно прибавляться +3, т.е. в понедельник = 100, вторник = 103, среда = 106 и так далее. echo (100+floor(($now_date - $start_date) / 86400)*3) 1 Надіслати Поділитися на інших сайтах More sharing options... anboza Опубліковано: 25 грудня 2019 Автор Share Опубліковано: 25 грудня 2019 Только что, Otvet сказал: так и не понял, зачем писать в базу? в базу писать для того, чтобы обрабатывать не на клиенте. И в клиента передавать 1 конечное значение, а не передавать значение, плодить переменные и потом все это обрабатывать. Речь об оптимальном решении, с возможностью использовать преимущество наличия БД. Только что, Yoda сказал: Просто кому то удобно за 10 минут скрипт сваять, а кому то в базу пару запросов воткнуть. Единого верного решения здесь быть не может. Для того и обсуждаем на форуме)) В любом случае, я благодарен всем участникам дискуссии, за версии, мысли и предложения ))) Надіслати Поділитися на інших сайтах More sharing options... Створіть аккаунт або увійдіть для коментування Ви повинні бути користувачем, щоб залишити коментар Створити обліковий запис Зареєструйтеся для отримання облікового запису. Це просто! Зареєструвати аккаунт Вхід Уже зареєстровані? Увійдіть тут. Вхід зараз Share More sharing options... Передплатники 0 Перейти до списку тем Зараз на сторінці 0 користувачів Ні користувачів, які переглядиють цю сторінку Последние темы Последние дополнения Последние новости Вся активність Головна Підтримка та відповіді на запитання. Допомога програмістам та розробникам Mysql+ trigger Покупцям Оплата розширень фізичними особами Оплата розширень юридичними особами Політика повернень Розробникам Регламент розміщення розширень Регламент продажу та підтримки розширень Віртуальний обліковий запис автора Політика просування оголошень API каталогу розширень Вирішення спорів щодо авторських прав Корисна інформація Публічна оферта Політика повернень Політика конфіденційності Платіжна політика Політика передачі особистих даних Політика прозорості Останні розширення Повний пакет SEO Автор: GeekoDev SameSite Session Fix Opencart 3 Автор: web_bond SP Telegram повідомлення FREE Автор: spectre Відключити порожні категорії Автор: spectre SEO Автор тексту категорії / фільтра / блогу з датою оновлення контенту + мікророзмітка Автор: radaevich × Уже зареєстровані? Ввійти Реєстрація Ваші замовлення Назад Придбані модулі та шаблони Ваші рахунки Лист очікувань Альтернативні контакти Форум Новини ocStore Назад Офіційний сайт Демо ocStore 3.0.3.2 Демо ocStore 2.3.0.2.4 Завантажити ocStore Документація Історія версій ocStore Блоги Модулі Шаблони Назад Безкоштовні шаблони Платні шаблони Де купувати модулі? Послуги FAQ OpenCart.Pro Назад Демо Купити Порівняння × Створити... Important Information На нашому сайті використовуються файли cookie і відбувається обробка деяких персональних даних користувачів, щоб поліпшити користувальницький інтерфейс. Щоб дізнатися для чого і які персональні дані ми обробляємо перейдіть за посиланням . Якщо Ви натиснете «Я даю згоду», це означає, що Ви розумієте і приймаєте всі умови, зазначені в цьому Повідомленні про конфіденційність. Я даю згоду
chukcha Опубліковано: 25 грудня 2019 Share Опубліковано: 25 грудня 2019 26 минут назад, anboza сказал: Я же ищу вариант решения, чтобы задача выполнялась просто на сервере. Каждый день, вне зависимости от селектов и апдейтов каких-либо данных... 15 часов назад, Yoda сказал: and create an event like this: CREATE EVENT name_of_event ON SCHEDULE EVERY 1 DAY STARTS '2014-01-18 00:00:00' DO DELETE FROM tbl_message WHERE DATEDIFF( NOW( ) , timestamp ) >=7; and that's it. Что здесь не так? Надіслати Поділитися на інших сайтах More sharing options... i3bepb Опубліковано: 25 грудня 2019 Share Опубліковано: 25 грудня 2019 27 минут назад, anboza сказал: Каждый день, вне зависимости от селектов и апдейтов каких-либо данных... Такие вариант выше же предлагали 16 часов назад, flai0616 сказал: Грубо говоря - пишете скрипт, который получает текущее значение, прибавляет к нему 3 и записывает обратно в БД. Ставите выполнение по cron раз в сутки и все) 15 часов назад, Yoda сказал: Ну и если правильно погуглить то видим по заросу cron mysql query Первая же ссылка на стаковерфлоу и очень простое решение задачи personally find it easier use MySQL event scheduler than cron. Enable it with SET GLOBAL event_scheduler = ON; and create an event like this: CREATE EVENT name_of_event ON SCHEDULE EVERY 1 DAY STARTS '2014-01-18 00:00:00' DO DELETE FROM tbl_message WHERE DATEDIFF( NOW( ) , timestamp ) >=7; and that's it. Надіслати Поділитися на інших сайтах More sharing options... i3bepb Опубліковано: 25 грудня 2019 Share Опубліковано: 25 грудня 2019 1 час назад, chukcha сказал: расскажите - как Да Вы правы на select триггер не навешать, но если погуглить, то например предлагается вариант через хранимые процедуры, т.е. вместо select-а на прямую делается процедура, которая будет оберткой и уже в ней алгоритм. Возможно еще какие-то решения найдутся как это сделать. Надіслати Поділитися на інших сайтах More sharing options... chukcha Опубліковано: 25 грудня 2019 Share Опубліковано: 25 грудня 2019 Самое простое крон Более менее управляемо, и вычисляемо Таски (евентсы) о них нужно знать, помнить и использовать, но это должно быть в ГДЕ- ТО - Внимание Есть events Надіслати Поділитися на інших сайтах More sharing options... anboza Опубліковано: 25 грудня 2019 Автор Share Опубліковано: 25 грудня 2019 Только что, chukcha сказал: Что здесь не так? здесь все так, просто пояснял суть заданного вопроса. Надіслати Поділитися на інших сайтах More sharing options... Yoda Опубліковано: 25 грудня 2019 Share Опубліковано: 25 грудня 2019 Я с вас со всех худею дорогая редакция. Откуда столько глупостей в голове? 1. Если падает сервер и не срабатывает sheduled task - надо просто менять сервер. 2. Любые хранимые процедуры, триггеры и таски в базе - в конечном итоге оборачиваются некой головной болью при смене окружения, особенно если используется shared хостинг. 3. Нет принципиальной разницы это cron скрипт php, cron команда mysql или bash скрипт. Это все серверные пережитки и они все обладают одним большим недостатком - при смене окружения, паролей в базу, пользователя базы, про них можно случайно забыть. 4. Если делать совсем дубово в рамках идеи opencart - надо делать какой то шедаллер в виде событий при инициализации генераций страниц с файлом или записью базы содержащими временную метку последнго успешного события. Если вы уверены в своих силах и втом, что вы не забудете перенести кроны - крон. Если знаете как решить потенциальные проблемы с пользователем, от которого работюат триггеры и процедуры - делайте в базе. В том или ином виде задача решается однозначно и малыми костами. Просто кому то удобно за 10 минут скрипт сваять, а кому то в базу пару запросов воткнуть. Единого верного решения здесь быть не может. Следуйте принципу write less do more и будет вам счастье! Надіслати Поділитися на інших сайтах More sharing options... Otvet Опубліковано: 25 грудня 2019 Share Опубліковано: 25 грудня 2019 так и не понял, зачем писать в базу? 12 часов назад, anboza сказал: просто будет выводиться на фронте В 24.12.2019 в 20:53, anboza сказал: Пример: исходное = 100, каждый день к этому значению, должно прибавляться +3, т.е. в понедельник = 100, вторник = 103, среда = 106 и так далее. echo (100+floor(($now_date - $start_date) / 86400)*3) 1 Надіслати Поділитися на інших сайтах More sharing options... anboza Опубліковано: 25 грудня 2019 Автор Share Опубліковано: 25 грудня 2019 Только что, Otvet сказал: так и не понял, зачем писать в базу? в базу писать для того, чтобы обрабатывать не на клиенте. И в клиента передавать 1 конечное значение, а не передавать значение, плодить переменные и потом все это обрабатывать. Речь об оптимальном решении, с возможностью использовать преимущество наличия БД. Только что, Yoda сказал: Просто кому то удобно за 10 минут скрипт сваять, а кому то в базу пару запросов воткнуть. Единого верного решения здесь быть не может. Для того и обсуждаем на форуме)) В любом случае, я благодарен всем участникам дискуссии, за версии, мысли и предложения ))) Надіслати Поділитися на інших сайтах More sharing options... Створіть аккаунт або увійдіть для коментування Ви повинні бути користувачем, щоб залишити коментар Створити обліковий запис Зареєструйтеся для отримання облікового запису. Це просто! Зареєструвати аккаунт Вхід Уже зареєстровані? Увійдіть тут. Вхід зараз Share More sharing options... Передплатники 0 Перейти до списку тем Зараз на сторінці 0 користувачів Ні користувачів, які переглядиють цю сторінку Последние темы Последние дополнения Последние новости Вся активність Головна Підтримка та відповіді на запитання. Допомога програмістам та розробникам Mysql+ trigger Покупцям Оплата розширень фізичними особами Оплата розширень юридичними особами Політика повернень Розробникам Регламент розміщення розширень Регламент продажу та підтримки розширень Віртуальний обліковий запис автора Політика просування оголошень API каталогу розширень Вирішення спорів щодо авторських прав Корисна інформація Публічна оферта Політика повернень Політика конфіденційності Платіжна політика Політика передачі особистих даних Політика прозорості Останні розширення Повний пакет SEO Автор: GeekoDev SameSite Session Fix Opencart 3 Автор: web_bond SP Telegram повідомлення FREE Автор: spectre Відключити порожні категорії Автор: spectre SEO Автор тексту категорії / фільтра / блогу з датою оновлення контенту + мікророзмітка Автор: radaevich × Уже зареєстровані? Ввійти Реєстрація Ваші замовлення Назад Придбані модулі та шаблони Ваші рахунки Лист очікувань Альтернативні контакти Форум Новини ocStore Назад Офіційний сайт Демо ocStore 3.0.3.2 Демо ocStore 2.3.0.2.4 Завантажити ocStore Документація Історія версій ocStore Блоги Модулі Шаблони Назад Безкоштовні шаблони Платні шаблони Де купувати модулі? Послуги FAQ OpenCart.Pro Назад Демо Купити Порівняння × Створити... Important Information На нашому сайті використовуються файли cookie і відбувається обробка деяких персональних даних користувачів, щоб поліпшити користувальницький інтерфейс. Щоб дізнатися для чого і які персональні дані ми обробляємо перейдіть за посиланням . Якщо Ви натиснете «Я даю згоду», це означає, що Ви розумієте і приймаєте всі умови, зазначені в цьому Повідомленні про конфіденційність. Я даю згоду
i3bepb Опубліковано: 25 грудня 2019 Share Опубліковано: 25 грудня 2019 27 минут назад, anboza сказал: Каждый день, вне зависимости от селектов и апдейтов каких-либо данных... Такие вариант выше же предлагали 16 часов назад, flai0616 сказал: Грубо говоря - пишете скрипт, который получает текущее значение, прибавляет к нему 3 и записывает обратно в БД. Ставите выполнение по cron раз в сутки и все) 15 часов назад, Yoda сказал: Ну и если правильно погуглить то видим по заросу cron mysql query Первая же ссылка на стаковерфлоу и очень простое решение задачи personally find it easier use MySQL event scheduler than cron. Enable it with SET GLOBAL event_scheduler = ON; and create an event like this: CREATE EVENT name_of_event ON SCHEDULE EVERY 1 DAY STARTS '2014-01-18 00:00:00' DO DELETE FROM tbl_message WHERE DATEDIFF( NOW( ) , timestamp ) >=7; and that's it. Надіслати Поділитися на інших сайтах More sharing options...
i3bepb Опубліковано: 25 грудня 2019 Share Опубліковано: 25 грудня 2019 1 час назад, chukcha сказал: расскажите - как Да Вы правы на select триггер не навешать, но если погуглить, то например предлагается вариант через хранимые процедуры, т.е. вместо select-а на прямую делается процедура, которая будет оберткой и уже в ней алгоритм. Возможно еще какие-то решения найдутся как это сделать. Надіслати Поділитися на інших сайтах More sharing options...
chukcha Опубліковано: 25 грудня 2019 Share Опубліковано: 25 грудня 2019 Самое простое крон Более менее управляемо, и вычисляемо Таски (евентсы) о них нужно знать, помнить и использовать, но это должно быть в ГДЕ- ТО - Внимание Есть events Надіслати Поділитися на інших сайтах More sharing options... anboza Опубліковано: 25 грудня 2019 Автор Share Опубліковано: 25 грудня 2019 Только что, chukcha сказал: Что здесь не так? здесь все так, просто пояснял суть заданного вопроса. Надіслати Поділитися на інших сайтах More sharing options... Yoda Опубліковано: 25 грудня 2019 Share Опубліковано: 25 грудня 2019 Я с вас со всех худею дорогая редакция. Откуда столько глупостей в голове? 1. Если падает сервер и не срабатывает sheduled task - надо просто менять сервер. 2. Любые хранимые процедуры, триггеры и таски в базе - в конечном итоге оборачиваются некой головной болью при смене окружения, особенно если используется shared хостинг. 3. Нет принципиальной разницы это cron скрипт php, cron команда mysql или bash скрипт. Это все серверные пережитки и они все обладают одним большим недостатком - при смене окружения, паролей в базу, пользователя базы, про них можно случайно забыть. 4. Если делать совсем дубово в рамках идеи opencart - надо делать какой то шедаллер в виде событий при инициализации генераций страниц с файлом или записью базы содержащими временную метку последнго успешного события. Если вы уверены в своих силах и втом, что вы не забудете перенести кроны - крон. Если знаете как решить потенциальные проблемы с пользователем, от которого работюат триггеры и процедуры - делайте в базе. В том или ином виде задача решается однозначно и малыми костами. Просто кому то удобно за 10 минут скрипт сваять, а кому то в базу пару запросов воткнуть. Единого верного решения здесь быть не может. Следуйте принципу write less do more и будет вам счастье! Надіслати Поділитися на інших сайтах More sharing options... Otvet Опубліковано: 25 грудня 2019 Share Опубліковано: 25 грудня 2019 так и не понял, зачем писать в базу? 12 часов назад, anboza сказал: просто будет выводиться на фронте В 24.12.2019 в 20:53, anboza сказал: Пример: исходное = 100, каждый день к этому значению, должно прибавляться +3, т.е. в понедельник = 100, вторник = 103, среда = 106 и так далее. echo (100+floor(($now_date - $start_date) / 86400)*3) 1 Надіслати Поділитися на інших сайтах More sharing options... anboza Опубліковано: 25 грудня 2019 Автор Share Опубліковано: 25 грудня 2019 Только что, Otvet сказал: так и не понял, зачем писать в базу? в базу писать для того, чтобы обрабатывать не на клиенте. И в клиента передавать 1 конечное значение, а не передавать значение, плодить переменные и потом все это обрабатывать. Речь об оптимальном решении, с возможностью использовать преимущество наличия БД. Только что, Yoda сказал: Просто кому то удобно за 10 минут скрипт сваять, а кому то в базу пару запросов воткнуть. Единого верного решения здесь быть не может. Для того и обсуждаем на форуме)) В любом случае, я благодарен всем участникам дискуссии, за версии, мысли и предложения ))) Надіслати Поділитися на інших сайтах More sharing options... Створіть аккаунт або увійдіть для коментування Ви повинні бути користувачем, щоб залишити коментар Створити обліковий запис Зареєструйтеся для отримання облікового запису. Це просто! Зареєструвати аккаунт Вхід Уже зареєстровані? Увійдіть тут. Вхід зараз Share More sharing options... Передплатники 0 Перейти до списку тем Зараз на сторінці 0 користувачів Ні користувачів, які переглядиють цю сторінку Последние темы Последние дополнения Последние новости Вся активність Головна Підтримка та відповіді на запитання. Допомога програмістам та розробникам Mysql+ trigger Покупцям Оплата розширень фізичними особами Оплата розширень юридичними особами Політика повернень Розробникам Регламент розміщення розширень Регламент продажу та підтримки розширень Віртуальний обліковий запис автора Політика просування оголошень API каталогу розширень Вирішення спорів щодо авторських прав Корисна інформація Публічна оферта Політика повернень Політика конфіденційності Платіжна політика Політика передачі особистих даних Політика прозорості Останні розширення Повний пакет SEO Автор: GeekoDev SameSite Session Fix Opencart 3 Автор: web_bond SP Telegram повідомлення FREE Автор: spectre Відключити порожні категорії Автор: spectre SEO Автор тексту категорії / фільтра / блогу з датою оновлення контенту + мікророзмітка Автор: radaevich
anboza Опубліковано: 25 грудня 2019 Автор Share Опубліковано: 25 грудня 2019 Только что, chukcha сказал: Что здесь не так? здесь все так, просто пояснял суть заданного вопроса. Надіслати Поділитися на інших сайтах More sharing options... Yoda Опубліковано: 25 грудня 2019 Share Опубліковано: 25 грудня 2019 Я с вас со всех худею дорогая редакция. Откуда столько глупостей в голове? 1. Если падает сервер и не срабатывает sheduled task - надо просто менять сервер. 2. Любые хранимые процедуры, триггеры и таски в базе - в конечном итоге оборачиваются некой головной болью при смене окружения, особенно если используется shared хостинг. 3. Нет принципиальной разницы это cron скрипт php, cron команда mysql или bash скрипт. Это все серверные пережитки и они все обладают одним большим недостатком - при смене окружения, паролей в базу, пользователя базы, про них можно случайно забыть. 4. Если делать совсем дубово в рамках идеи opencart - надо делать какой то шедаллер в виде событий при инициализации генераций страниц с файлом или записью базы содержащими временную метку последнго успешного события. Если вы уверены в своих силах и втом, что вы не забудете перенести кроны - крон. Если знаете как решить потенциальные проблемы с пользователем, от которого работюат триггеры и процедуры - делайте в базе. В том или ином виде задача решается однозначно и малыми костами. Просто кому то удобно за 10 минут скрипт сваять, а кому то в базу пару запросов воткнуть. Единого верного решения здесь быть не может. Следуйте принципу write less do more и будет вам счастье! Надіслати Поділитися на інших сайтах More sharing options... Otvet Опубліковано: 25 грудня 2019 Share Опубліковано: 25 грудня 2019 так и не понял, зачем писать в базу? 12 часов назад, anboza сказал: просто будет выводиться на фронте В 24.12.2019 в 20:53, anboza сказал: Пример: исходное = 100, каждый день к этому значению, должно прибавляться +3, т.е. в понедельник = 100, вторник = 103, среда = 106 и так далее. echo (100+floor(($now_date - $start_date) / 86400)*3) 1 Надіслати Поділитися на інших сайтах More sharing options... anboza Опубліковано: 25 грудня 2019 Автор Share Опубліковано: 25 грудня 2019 Только что, Otvet сказал: так и не понял, зачем писать в базу? в базу писать для того, чтобы обрабатывать не на клиенте. И в клиента передавать 1 конечное значение, а не передавать значение, плодить переменные и потом все это обрабатывать. Речь об оптимальном решении, с возможностью использовать преимущество наличия БД. Только что, Yoda сказал: Просто кому то удобно за 10 минут скрипт сваять, а кому то в базу пару запросов воткнуть. Единого верного решения здесь быть не может. Для того и обсуждаем на форуме)) В любом случае, я благодарен всем участникам дискуссии, за версии, мысли и предложения ))) Надіслати Поділитися на інших сайтах More sharing options... Створіть аккаунт або увійдіть для коментування Ви повинні бути користувачем, щоб залишити коментар Створити обліковий запис Зареєструйтеся для отримання облікового запису. Це просто! Зареєструвати аккаунт Вхід Уже зареєстровані? Увійдіть тут. Вхід зараз Share More sharing options... Передплатники 0 Перейти до списку тем Зараз на сторінці 0 користувачів Ні користувачів, які переглядиють цю сторінку Последние темы Последние дополнения Последние новости Вся активність Головна Підтримка та відповіді на запитання. Допомога програмістам та розробникам Mysql+ trigger
Yoda Опубліковано: 25 грудня 2019 Share Опубліковано: 25 грудня 2019 Я с вас со всех худею дорогая редакция. Откуда столько глупостей в голове? 1. Если падает сервер и не срабатывает sheduled task - надо просто менять сервер. 2. Любые хранимые процедуры, триггеры и таски в базе - в конечном итоге оборачиваются некой головной болью при смене окружения, особенно если используется shared хостинг. 3. Нет принципиальной разницы это cron скрипт php, cron команда mysql или bash скрипт. Это все серверные пережитки и они все обладают одним большим недостатком - при смене окружения, паролей в базу, пользователя базы, про них можно случайно забыть. 4. Если делать совсем дубово в рамках идеи opencart - надо делать какой то шедаллер в виде событий при инициализации генераций страниц с файлом или записью базы содержащими временную метку последнго успешного события. Если вы уверены в своих силах и втом, что вы не забудете перенести кроны - крон. Если знаете как решить потенциальные проблемы с пользователем, от которого работюат триггеры и процедуры - делайте в базе. В том или ином виде задача решается однозначно и малыми костами. Просто кому то удобно за 10 минут скрипт сваять, а кому то в базу пару запросов воткнуть. Единого верного решения здесь быть не может. Следуйте принципу write less do more и будет вам счастье! Надіслати Поділитися на інших сайтах More sharing options...
Otvet Опубліковано: 25 грудня 2019 Share Опубліковано: 25 грудня 2019 так и не понял, зачем писать в базу? 12 часов назад, anboza сказал: просто будет выводиться на фронте В 24.12.2019 в 20:53, anboza сказал: Пример: исходное = 100, каждый день к этому значению, должно прибавляться +3, т.е. в понедельник = 100, вторник = 103, среда = 106 и так далее. echo (100+floor(($now_date - $start_date) / 86400)*3) 1 Надіслати Поділитися на інших сайтах More sharing options... anboza Опубліковано: 25 грудня 2019 Автор Share Опубліковано: 25 грудня 2019 Только что, Otvet сказал: так и не понял, зачем писать в базу? в базу писать для того, чтобы обрабатывать не на клиенте. И в клиента передавать 1 конечное значение, а не передавать значение, плодить переменные и потом все это обрабатывать. Речь об оптимальном решении, с возможностью использовать преимущество наличия БД. Только что, Yoda сказал: Просто кому то удобно за 10 минут скрипт сваять, а кому то в базу пару запросов воткнуть. Единого верного решения здесь быть не может. Для того и обсуждаем на форуме)) В любом случае, я благодарен всем участникам дискуссии, за версии, мысли и предложения ))) Надіслати Поділитися на інших сайтах More sharing options... Створіть аккаунт або увійдіть для коментування Ви повинні бути користувачем, щоб залишити коментар Створити обліковий запис Зареєструйтеся для отримання облікового запису. Це просто! Зареєструвати аккаунт Вхід Уже зареєстровані? Увійдіть тут. Вхід зараз Share More sharing options... Передплатники 0 Перейти до списку тем Зараз на сторінці 0 користувачів Ні користувачів, які переглядиють цю сторінку
anboza Опубліковано: 25 грудня 2019 Автор Share Опубліковано: 25 грудня 2019 Только что, Otvet сказал: так и не понял, зачем писать в базу? в базу писать для того, чтобы обрабатывать не на клиенте. И в клиента передавать 1 конечное значение, а не передавать значение, плодить переменные и потом все это обрабатывать. Речь об оптимальном решении, с возможностью использовать преимущество наличия БД. Только что, Yoda сказал: Просто кому то удобно за 10 минут скрипт сваять, а кому то в базу пару запросов воткнуть. Единого верного решения здесь быть не может. Для того и обсуждаем на форуме)) В любом случае, я благодарен всем участникам дискуссии, за версии, мысли и предложения ))) Надіслати Поділитися на інших сайтах More sharing options... Створіть аккаунт або увійдіть для коментування Ви повинні бути користувачем, щоб залишити коментар Створити обліковий запис Зареєструйтеся для отримання облікового запису. Це просто! Зареєструвати аккаунт Вхід Уже зареєстровані? Увійдіть тут. Вхід зараз Share More sharing options... Передплатники 0
Recommended Posts