anboza Опубликовано: 24 декабря 2019 Поделиться Опубликовано: 24 декабря 2019 Доброго времени, Уважаемые! Задача: необходимо сделать счетчик, который будет каждый день к исходному значению, добавлять значение. Пример: исходное = 100, каждый день к этому значению, должно прибавляться +3, т.е. в понедельник = 100, вторник = 103, среда = 106 и так далее. Что рассматривал: Данная задача, однозначно должна решаться через серверную обработку, первое и (думается) правильное - триггеры. НО! триггер в MySQL, срабатывают по событию (добавление,удаление, изменение) записей в таблицы. Время срабатывания - не основной фактор, как я понял. Внимание, вопрос ))) Правильно ли я все понял, сталкивался ли кто-нибудь с такой задачей и если можно, поделитесь опытом - примером... Заранее благодарен )) Ссылка на комментарий Поделиться на других сайтах Больше способов поделиться... flai0616 Опубликовано: 24 декабря 2019 Поделиться Опубликовано: 24 декабря 2019 Зачем триггер? Можно за 10-20 минут сделать кроном) https://ru.wikipedia.org/wiki/Cron Ссылка на комментарий Поделиться на других сайтах Больше способов поделиться... flai0616 Опубликовано: 24 декабря 2019 Поделиться Опубликовано: 24 декабря 2019 Грубо говоря - пишете скрипт, который получает текущее значение, прибавляет к нему 3 и записывает обратно в БД. Ставите выполнение по cron раз в сутки и все) 1 Ссылка на комментарий Поделиться на других сайтах Больше способов поделиться... anboza Опубликовано: 24 декабря 2019 Автор Поделиться Опубликовано: 24 декабря 2019 мне нужно выполнять действие, на стороне сервера.мне не нужен сервис дополнительный. это все надстройки, которые не нужны!!! Ссылка на комментарий Поделиться на других сайтах Больше способов поделиться... stickpro Опубликовано: 24 декабря 2019 Поделиться Опубликовано: 24 декабря 2019 16 минут назад, anboza сказал: мне нужно выполнять действие, на стороне сервера.мне не нужен сервис дополнительный. это все надстройки, которые не нужны!!! все вам правильно написали, пишите скрипт который берет данные из бд и возвращаюет туда же, и срабатывает по крону каждый день в нужное время Ссылка на комментарий Поделиться на других сайтах Больше способов поделиться... Yoda Опубликовано: 24 декабря 2019 Поделиться Опубликовано: 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. Ссылка на комментарий Поделиться на других сайтах Больше способов поделиться... anboza Опубликовано: 24 декабря 2019 Автор Поделиться Опубликовано: 24 декабря 2019 но это же жесть ((( а зачем тогда вообще сервер БД? для того, чтобы просто таблицы хранить? Ссылка на комментарий Поделиться на других сайтах Больше способов поделиться... anboza Опубликовано: 24 декабря 2019 Автор Поделиться Опубликовано: 24 декабря 2019 1 минуту назад, nikifalex сказал: а если сервер случайно выключили во время когда должно сработать событие? ну так в том и соль, что триггер должен сработать не просто "в момент", а по состоянию на момент...и так он и работает в "нормальных" СУБД Ссылка на комментарий Поделиться на других сайтах Больше способов поделиться... i3bepb Опубликовано: 25 декабря 2019 Поделиться Опубликовано: 25 декабря 2019 10 часов назад, anboza сказал: ну так в том и соль, что триггер должен сработать не просто "в момент", а по состоянию на момент Ну можно придумать такой алгоритм. Создать триггер на select из этой таблицы. Делаем хранилище для метки, которая помогает определять добавлять +3 или нет, например еще таблицу. В триггере такой примерно алгоритм - смотреть текущее время и сравниваем ее с меткой, в метке может быть текущее время с прошлого добавления +3, делаем вывод надо ли добавлять +3 или нет, если надо, то добавляем и обновляем метку, если нет, то ничего не делаем. Но я бы так не делал. Лучше в коде php обложить select-ы из той таблицы проверкой по аналогичному алгоритму, это будет легче поддерживать. Ссылка на комментарий Поделиться на других сайтах Больше способов поделиться... chukcha Опубликовано: 25 декабря 2019 Поделиться Опубликовано: 25 декабря 2019 3 часа назад, i3bepb сказал: Создать триггер на select из этой таблицы. расскажите - как Ссылка на комментарий Поделиться на других сайтах Больше способов поделиться... anboza Опубликовано: 25 декабря 2019 Автор Поделиться Опубликовано: 25 декабря 2019 3 часа назад, nikifalex сказал: пока нет понимания, для чего это надо вопрошающему, все потуги как то решить проблему, тщетны. я в первом посте описал задачу. она именно так и выглядит. результат этого состояния счетчика, просто будет выводиться на фронте, в блоке типа "наш сервис посетило" столько-то людей. Ссылка на комментарий Поделиться на других сайтах Больше способов поделиться... anboza Опубликовано: 25 декабря 2019 Автор Поделиться Опубликовано: 25 декабря 2019 4 часа назад, i3bepb сказал: Создать триггер на select из этой таблицы. ну как бы вариант, но уж больно он громоздкий. Ну и не факт, что обращение будет каждый день. Соответственно нужно не просто проверять дату обновления, но и вычислять разность и потом умножать накол-во пропущенных дней... Я же ищу вариант решения, чтобы задача выполнялась просто на сервере. Каждый день, вне зависимости от селектов и апдейтов каких-либо данных... Но сдается мне, что это не про mysql, судя по обсуждению... Ссылка на комментарий Поделиться на других сайтах Больше способов поделиться... chukcha Опубликовано: 25 декабря 2019 Поделиться Опубликовано: 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. Что здесь не так? Ссылка на комментарий Поделиться на других сайтах Больше способов поделиться... i3bepb Опубликовано: 25 декабря 2019 Поделиться Опубликовано: 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. Ссылка на комментарий Поделиться на других сайтах Больше способов поделиться... i3bepb Опубликовано: 25 декабря 2019 Поделиться Опубликовано: 25 декабря 2019 1 час назад, chukcha сказал: расскажите - как Да Вы правы на select триггер не навешать, но если погуглить, то например предлагается вариант через хранимые процедуры, т.е. вместо select-а на прямую делается процедура, которая будет оберткой и уже в ней алгоритм. Возможно еще какие-то решения найдутся как это сделать. Ссылка на комментарий Поделиться на других сайтах Больше способов поделиться... chukcha Опубликовано: 25 декабря 2019 Поделиться Опубликовано: 25 декабря 2019 Самое простое крон Более менее управляемо, и вычисляемо Таски (евентсы) о них нужно знать, помнить и использовать, но это должно быть в ГДЕ- ТО - Внимание Есть events Ссылка на комментарий Поделиться на других сайтах Больше способов поделиться... anboza Опубликовано: 25 декабря 2019 Автор Поделиться Опубликовано: 25 декабря 2019 Только что, chukcha сказал: Что здесь не так? здесь все так, просто пояснял суть заданного вопроса. Ссылка на комментарий Поделиться на других сайтах Больше способов поделиться... Yoda Опубликовано: 25 декабря 2019 Поделиться Опубликовано: 25 декабря 2019 Я с вас со всех худею дорогая редакция. Откуда столько глупостей в голове? 1. Если падает сервер и не срабатывает sheduled task - надо просто менять сервер. 2. Любые хранимые процедуры, триггеры и таски в базе - в конечном итоге оборачиваются некой головной болью при смене окружения, особенно если используется shared хостинг. 3. Нет принципиальной разницы это cron скрипт php, cron команда mysql или bash скрипт. Это все серверные пережитки и они все обладают одним большим недостатком - при смене окружения, паролей в базу, пользователя базы, про них можно случайно забыть. 4. Если делать совсем дубово в рамках идеи opencart - надо делать какой то шедаллер в виде событий при инициализации генераций страниц с файлом или записью базы содержащими временную метку последнго успешного события. Если вы уверены в своих силах и втом, что вы не забудете перенести кроны - крон. Если знаете как решить потенциальные проблемы с пользователем, от которого работюат триггеры и процедуры - делайте в базе. В том или ином виде задача решается однозначно и малыми костами. Просто кому то удобно за 10 минут скрипт сваять, а кому то в базу пару запросов воткнуть. Единого верного решения здесь быть не может. Следуйте принципу write less do more и будет вам счастье! Ссылка на комментарий Поделиться на других сайтах Больше способов поделиться... Otvet Опубликовано: 25 декабря 2019 Поделиться Опубликовано: 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 Ссылка на комментарий Поделиться на других сайтах Больше способов поделиться... anboza Опубликовано: 25 декабря 2019 Автор Поделиться Опубликовано: 25 декабря 2019 Только что, Otvet сказал: так и не понял, зачем писать в базу? в базу писать для того, чтобы обрабатывать не на клиенте. И в клиента передавать 1 конечное значение, а не передавать значение, плодить переменные и потом все это обрабатывать. Речь об оптимальном решении, с возможностью использовать преимущество наличия БД. Только что, Yoda сказал: Просто кому то удобно за 10 минут скрипт сваять, а кому то в базу пару запросов воткнуть. Единого верного решения здесь быть не может. Для того и обсуждаем на форуме)) В любом случае, я благодарен всем участникам дискуссии, за версии, мысли и предложения ))) Ссылка на комментарий Поделиться на других сайтах Больше способов поделиться... Создайте аккаунт или войдите в него для комментирования Вы должны быть пользователем, чтобы оставить комментарий Создать аккаунт Зарегистрируйтесь для получения аккаунта. Это просто! Зарегистрировать аккаунт Войти Уже зарегистрированы? Войдите здесь. Войти сейчас Поделиться Больше способов поделиться... Подписчики 0 Перейти к списку тем Сейчас на странице 0 пользователей Нет пользователей, просматривающих эту страницу. Последние темы Последние дополнения Последние новости Вся активность Главная Поддержка и ответы на вопросы Помощь программистам и разработчикам Mysql+ trigger Покупцям Оплата розширень фізичними особами Оплата розширень юридичними особами Політика повернень Розробникам Регламент розміщення розширень Регламент продажу та підтримки розширень Віртуальний обліковий запис автора Політика просування оголошень API каталогу розширень Вирішення спорів щодо авторських прав Корисна інформація Публічна оферта Політика повернень Політика конфіденційності Платіжна політика Політика передачі особистих даних Політика прозорості Останні розширення Deals – адаптивный универсальный шаблон Автор: octemplates Динамичесткая инфострока в шапке + позиция в макете для opencart\ocstore 2x, 3x Автор: Lito911 Единицы Измерения Товара Автор: RoS Opencart Product Search by Image Автор: slavoglo Простой массовый редактор цен. Fast Price Edit Автор: Sha × Уже зарегистрированы? Войти Регистрация Раздел покупок Назад Приобретенные дополнения Ваши счета Список желаний Альтернативные контакты Форум Новости ocStore Назад Официальный сайт Демо ocStore 3.0.3.2 Демо ocStore 2.3.0.2.4 Скачать ocStore Документация История версий ocStore Блоги Модули Шаблоны Назад Бесплатные шаблоны Платные шаблоны Где покупать модули? Услуги FAQ OpenCart.Pro Назад Демо Купить Сравнение × Создать... Важная информация На нашем сайте используются файлы cookie и происходит обработка некоторых персональных данных пользователей, чтобы улучшить пользовательский интерфейс. Чтобы узнать для чего и какие персональные данные мы обрабатываем перейдите по ссылке. Если Вы нажмете «Я даю согласие», это означает, что Вы понимаете и принимаете все условия, указанные в этом Уведомлении о Конфиденциальности. Я принимаю
flai0616 Опубликовано: 24 декабря 2019 Поделиться Опубликовано: 24 декабря 2019 Зачем триггер? Можно за 10-20 минут сделать кроном) https://ru.wikipedia.org/wiki/Cron Ссылка на комментарий Поделиться на других сайтах Больше способов поделиться... flai0616 Опубликовано: 24 декабря 2019 Поделиться Опубликовано: 24 декабря 2019 Грубо говоря - пишете скрипт, который получает текущее значение, прибавляет к нему 3 и записывает обратно в БД. Ставите выполнение по cron раз в сутки и все) 1 Ссылка на комментарий Поделиться на других сайтах Больше способов поделиться... anboza Опубликовано: 24 декабря 2019 Автор Поделиться Опубликовано: 24 декабря 2019 мне нужно выполнять действие, на стороне сервера.мне не нужен сервис дополнительный. это все надстройки, которые не нужны!!! Ссылка на комментарий Поделиться на других сайтах Больше способов поделиться... stickpro Опубликовано: 24 декабря 2019 Поделиться Опубликовано: 24 декабря 2019 16 минут назад, anboza сказал: мне нужно выполнять действие, на стороне сервера.мне не нужен сервис дополнительный. это все надстройки, которые не нужны!!! все вам правильно написали, пишите скрипт который берет данные из бд и возвращаюет туда же, и срабатывает по крону каждый день в нужное время Ссылка на комментарий Поделиться на других сайтах Больше способов поделиться... Yoda Опубликовано: 24 декабря 2019 Поделиться Опубликовано: 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. Ссылка на комментарий Поделиться на других сайтах Больше способов поделиться... anboza Опубликовано: 24 декабря 2019 Автор Поделиться Опубликовано: 24 декабря 2019 но это же жесть ((( а зачем тогда вообще сервер БД? для того, чтобы просто таблицы хранить? Ссылка на комментарий Поделиться на других сайтах Больше способов поделиться... anboza Опубликовано: 24 декабря 2019 Автор Поделиться Опубликовано: 24 декабря 2019 1 минуту назад, nikifalex сказал: а если сервер случайно выключили во время когда должно сработать событие? ну так в том и соль, что триггер должен сработать не просто "в момент", а по состоянию на момент...и так он и работает в "нормальных" СУБД Ссылка на комментарий Поделиться на других сайтах Больше способов поделиться... i3bepb Опубликовано: 25 декабря 2019 Поделиться Опубликовано: 25 декабря 2019 10 часов назад, anboza сказал: ну так в том и соль, что триггер должен сработать не просто "в момент", а по состоянию на момент Ну можно придумать такой алгоритм. Создать триггер на select из этой таблицы. Делаем хранилище для метки, которая помогает определять добавлять +3 или нет, например еще таблицу. В триггере такой примерно алгоритм - смотреть текущее время и сравниваем ее с меткой, в метке может быть текущее время с прошлого добавления +3, делаем вывод надо ли добавлять +3 или нет, если надо, то добавляем и обновляем метку, если нет, то ничего не делаем. Но я бы так не делал. Лучше в коде php обложить select-ы из той таблицы проверкой по аналогичному алгоритму, это будет легче поддерживать. Ссылка на комментарий Поделиться на других сайтах Больше способов поделиться... chukcha Опубликовано: 25 декабря 2019 Поделиться Опубликовано: 25 декабря 2019 3 часа назад, i3bepb сказал: Создать триггер на select из этой таблицы. расскажите - как Ссылка на комментарий Поделиться на других сайтах Больше способов поделиться... anboza Опубликовано: 25 декабря 2019 Автор Поделиться Опубликовано: 25 декабря 2019 3 часа назад, nikifalex сказал: пока нет понимания, для чего это надо вопрошающему, все потуги как то решить проблему, тщетны. я в первом посте описал задачу. она именно так и выглядит. результат этого состояния счетчика, просто будет выводиться на фронте, в блоке типа "наш сервис посетило" столько-то людей. Ссылка на комментарий Поделиться на других сайтах Больше способов поделиться... anboza Опубликовано: 25 декабря 2019 Автор Поделиться Опубликовано: 25 декабря 2019 4 часа назад, i3bepb сказал: Создать триггер на select из этой таблицы. ну как бы вариант, но уж больно он громоздкий. Ну и не факт, что обращение будет каждый день. Соответственно нужно не просто проверять дату обновления, но и вычислять разность и потом умножать накол-во пропущенных дней... Я же ищу вариант решения, чтобы задача выполнялась просто на сервере. Каждый день, вне зависимости от селектов и апдейтов каких-либо данных... Но сдается мне, что это не про mysql, судя по обсуждению... Ссылка на комментарий Поделиться на других сайтах Больше способов поделиться... chukcha Опубликовано: 25 декабря 2019 Поделиться Опубликовано: 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. Что здесь не так? Ссылка на комментарий Поделиться на других сайтах Больше способов поделиться... i3bepb Опубликовано: 25 декабря 2019 Поделиться Опубликовано: 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. Ссылка на комментарий Поделиться на других сайтах Больше способов поделиться... i3bepb Опубликовано: 25 декабря 2019 Поделиться Опубликовано: 25 декабря 2019 1 час назад, chukcha сказал: расскажите - как Да Вы правы на select триггер не навешать, но если погуглить, то например предлагается вариант через хранимые процедуры, т.е. вместо select-а на прямую делается процедура, которая будет оберткой и уже в ней алгоритм. Возможно еще какие-то решения найдутся как это сделать. Ссылка на комментарий Поделиться на других сайтах Больше способов поделиться... chukcha Опубликовано: 25 декабря 2019 Поделиться Опубликовано: 25 декабря 2019 Самое простое крон Более менее управляемо, и вычисляемо Таски (евентсы) о них нужно знать, помнить и использовать, но это должно быть в ГДЕ- ТО - Внимание Есть events Ссылка на комментарий Поделиться на других сайтах Больше способов поделиться... anboza Опубликовано: 25 декабря 2019 Автор Поделиться Опубликовано: 25 декабря 2019 Только что, chukcha сказал: Что здесь не так? здесь все так, просто пояснял суть заданного вопроса. Ссылка на комментарий Поделиться на других сайтах Больше способов поделиться... Yoda Опубликовано: 25 декабря 2019 Поделиться Опубликовано: 25 декабря 2019 Я с вас со всех худею дорогая редакция. Откуда столько глупостей в голове? 1. Если падает сервер и не срабатывает sheduled task - надо просто менять сервер. 2. Любые хранимые процедуры, триггеры и таски в базе - в конечном итоге оборачиваются некой головной болью при смене окружения, особенно если используется shared хостинг. 3. Нет принципиальной разницы это cron скрипт php, cron команда mysql или bash скрипт. Это все серверные пережитки и они все обладают одним большим недостатком - при смене окружения, паролей в базу, пользователя базы, про них можно случайно забыть. 4. Если делать совсем дубово в рамках идеи opencart - надо делать какой то шедаллер в виде событий при инициализации генераций страниц с файлом или записью базы содержащими временную метку последнго успешного события. Если вы уверены в своих силах и втом, что вы не забудете перенести кроны - крон. Если знаете как решить потенциальные проблемы с пользователем, от которого работюат триггеры и процедуры - делайте в базе. В том или ином виде задача решается однозначно и малыми костами. Просто кому то удобно за 10 минут скрипт сваять, а кому то в базу пару запросов воткнуть. Единого верного решения здесь быть не может. Следуйте принципу write less do more и будет вам счастье! Ссылка на комментарий Поделиться на других сайтах Больше способов поделиться... Otvet Опубликовано: 25 декабря 2019 Поделиться Опубликовано: 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 Ссылка на комментарий Поделиться на других сайтах Больше способов поделиться... anboza Опубликовано: 25 декабря 2019 Автор Поделиться Опубликовано: 25 декабря 2019 Только что, Otvet сказал: так и не понял, зачем писать в базу? в базу писать для того, чтобы обрабатывать не на клиенте. И в клиента передавать 1 конечное значение, а не передавать значение, плодить переменные и потом все это обрабатывать. Речь об оптимальном решении, с возможностью использовать преимущество наличия БД. Только что, Yoda сказал: Просто кому то удобно за 10 минут скрипт сваять, а кому то в базу пару запросов воткнуть. Единого верного решения здесь быть не может. Для того и обсуждаем на форуме)) В любом случае, я благодарен всем участникам дискуссии, за версии, мысли и предложения ))) Ссылка на комментарий Поделиться на других сайтах Больше способов поделиться... Создайте аккаунт или войдите в него для комментирования Вы должны быть пользователем, чтобы оставить комментарий Создать аккаунт Зарегистрируйтесь для получения аккаунта. Это просто! Зарегистрировать аккаунт Войти Уже зарегистрированы? Войдите здесь. Войти сейчас Поделиться Больше способов поделиться... Подписчики 0 Перейти к списку тем Сейчас на странице 0 пользователей Нет пользователей, просматривающих эту страницу. Последние темы Последние дополнения Последние новости Вся активность Главная Поддержка и ответы на вопросы Помощь программистам и разработчикам Mysql+ trigger Покупцям Оплата розширень фізичними особами Оплата розширень юридичними особами Політика повернень Розробникам Регламент розміщення розширень Регламент продажу та підтримки розширень Віртуальний обліковий запис автора Політика просування оголошень API каталогу розширень Вирішення спорів щодо авторських прав Корисна інформація Публічна оферта Політика повернень Політика конфіденційності Платіжна політика Політика передачі особистих даних Політика прозорості Останні розширення Deals – адаптивный универсальный шаблон Автор: octemplates Динамичесткая инфострока в шапке + позиция в макете для opencart\ocstore 2x, 3x Автор: Lito911 Единицы Измерения Товара Автор: RoS Opencart Product Search by Image Автор: slavoglo Простой массовый редактор цен. Fast Price Edit Автор: Sha × Уже зарегистрированы? Войти Регистрация Раздел покупок Назад Приобретенные дополнения Ваши счета Список желаний Альтернативные контакты Форум Новости ocStore Назад Официальный сайт Демо ocStore 3.0.3.2 Демо ocStore 2.3.0.2.4 Скачать ocStore Документация История версий ocStore Блоги Модули Шаблоны Назад Бесплатные шаблоны Платные шаблоны Где покупать модули? Услуги FAQ OpenCart.Pro Назад Демо Купить Сравнение × Создать... Важная информация На нашем сайте используются файлы cookie и происходит обработка некоторых персональных данных пользователей, чтобы улучшить пользовательский интерфейс. Чтобы узнать для чего и какие персональные данные мы обрабатываем перейдите по ссылке. Если Вы нажмете «Я даю согласие», это означает, что Вы понимаете и принимаете все условия, указанные в этом Уведомлении о Конфиденциальности. Я принимаю
flai0616 Опубликовано: 24 декабря 2019 Поделиться Опубликовано: 24 декабря 2019 Грубо говоря - пишете скрипт, который получает текущее значение, прибавляет к нему 3 и записывает обратно в БД. Ставите выполнение по cron раз в сутки и все) 1 Ссылка на комментарий Поделиться на других сайтах Больше способов поделиться... anboza Опубликовано: 24 декабря 2019 Автор Поделиться Опубликовано: 24 декабря 2019 мне нужно выполнять действие, на стороне сервера.мне не нужен сервис дополнительный. это все надстройки, которые не нужны!!! Ссылка на комментарий Поделиться на других сайтах Больше способов поделиться... stickpro Опубликовано: 24 декабря 2019 Поделиться Опубликовано: 24 декабря 2019 16 минут назад, anboza сказал: мне нужно выполнять действие, на стороне сервера.мне не нужен сервис дополнительный. это все надстройки, которые не нужны!!! все вам правильно написали, пишите скрипт который берет данные из бд и возвращаюет туда же, и срабатывает по крону каждый день в нужное время Ссылка на комментарий Поделиться на других сайтах Больше способов поделиться... Yoda Опубликовано: 24 декабря 2019 Поделиться Опубликовано: 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. Ссылка на комментарий Поделиться на других сайтах Больше способов поделиться... anboza Опубликовано: 24 декабря 2019 Автор Поделиться Опубликовано: 24 декабря 2019 но это же жесть ((( а зачем тогда вообще сервер БД? для того, чтобы просто таблицы хранить? Ссылка на комментарий Поделиться на других сайтах Больше способов поделиться... anboza Опубликовано: 24 декабря 2019 Автор Поделиться Опубликовано: 24 декабря 2019 1 минуту назад, nikifalex сказал: а если сервер случайно выключили во время когда должно сработать событие? ну так в том и соль, что триггер должен сработать не просто "в момент", а по состоянию на момент...и так он и работает в "нормальных" СУБД Ссылка на комментарий Поделиться на других сайтах Больше способов поделиться... i3bepb Опубликовано: 25 декабря 2019 Поделиться Опубликовано: 25 декабря 2019 10 часов назад, anboza сказал: ну так в том и соль, что триггер должен сработать не просто "в момент", а по состоянию на момент Ну можно придумать такой алгоритм. Создать триггер на select из этой таблицы. Делаем хранилище для метки, которая помогает определять добавлять +3 или нет, например еще таблицу. В триггере такой примерно алгоритм - смотреть текущее время и сравниваем ее с меткой, в метке может быть текущее время с прошлого добавления +3, делаем вывод надо ли добавлять +3 или нет, если надо, то добавляем и обновляем метку, если нет, то ничего не делаем. Но я бы так не делал. Лучше в коде php обложить select-ы из той таблицы проверкой по аналогичному алгоритму, это будет легче поддерживать. Ссылка на комментарий Поделиться на других сайтах Больше способов поделиться... chukcha Опубликовано: 25 декабря 2019 Поделиться Опубликовано: 25 декабря 2019 3 часа назад, i3bepb сказал: Создать триггер на select из этой таблицы. расскажите - как Ссылка на комментарий Поделиться на других сайтах Больше способов поделиться... anboza Опубликовано: 25 декабря 2019 Автор Поделиться Опубликовано: 25 декабря 2019 3 часа назад, nikifalex сказал: пока нет понимания, для чего это надо вопрошающему, все потуги как то решить проблему, тщетны. я в первом посте описал задачу. она именно так и выглядит. результат этого состояния счетчика, просто будет выводиться на фронте, в блоке типа "наш сервис посетило" столько-то людей. Ссылка на комментарий Поделиться на других сайтах Больше способов поделиться... anboza Опубликовано: 25 декабря 2019 Автор Поделиться Опубликовано: 25 декабря 2019 4 часа назад, i3bepb сказал: Создать триггер на select из этой таблицы. ну как бы вариант, но уж больно он громоздкий. Ну и не факт, что обращение будет каждый день. Соответственно нужно не просто проверять дату обновления, но и вычислять разность и потом умножать накол-во пропущенных дней... Я же ищу вариант решения, чтобы задача выполнялась просто на сервере. Каждый день, вне зависимости от селектов и апдейтов каких-либо данных... Но сдается мне, что это не про mysql, судя по обсуждению... Ссылка на комментарий Поделиться на других сайтах Больше способов поделиться... chukcha Опубликовано: 25 декабря 2019 Поделиться Опубликовано: 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. Что здесь не так? Ссылка на комментарий Поделиться на других сайтах Больше способов поделиться... i3bepb Опубликовано: 25 декабря 2019 Поделиться Опубликовано: 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. Ссылка на комментарий Поделиться на других сайтах Больше способов поделиться... i3bepb Опубликовано: 25 декабря 2019 Поделиться Опубликовано: 25 декабря 2019 1 час назад, chukcha сказал: расскажите - как Да Вы правы на select триггер не навешать, но если погуглить, то например предлагается вариант через хранимые процедуры, т.е. вместо select-а на прямую делается процедура, которая будет оберткой и уже в ней алгоритм. Возможно еще какие-то решения найдутся как это сделать. Ссылка на комментарий Поделиться на других сайтах Больше способов поделиться... chukcha Опубликовано: 25 декабря 2019 Поделиться Опубликовано: 25 декабря 2019 Самое простое крон Более менее управляемо, и вычисляемо Таски (евентсы) о них нужно знать, помнить и использовать, но это должно быть в ГДЕ- ТО - Внимание Есть events Ссылка на комментарий Поделиться на других сайтах Больше способов поделиться... anboza Опубликовано: 25 декабря 2019 Автор Поделиться Опубликовано: 25 декабря 2019 Только что, chukcha сказал: Что здесь не так? здесь все так, просто пояснял суть заданного вопроса. Ссылка на комментарий Поделиться на других сайтах Больше способов поделиться... Yoda Опубликовано: 25 декабря 2019 Поделиться Опубликовано: 25 декабря 2019 Я с вас со всех худею дорогая редакция. Откуда столько глупостей в голове? 1. Если падает сервер и не срабатывает sheduled task - надо просто менять сервер. 2. Любые хранимые процедуры, триггеры и таски в базе - в конечном итоге оборачиваются некой головной болью при смене окружения, особенно если используется shared хостинг. 3. Нет принципиальной разницы это cron скрипт php, cron команда mysql или bash скрипт. Это все серверные пережитки и они все обладают одним большим недостатком - при смене окружения, паролей в базу, пользователя базы, про них можно случайно забыть. 4. Если делать совсем дубово в рамках идеи opencart - надо делать какой то шедаллер в виде событий при инициализации генераций страниц с файлом или записью базы содержащими временную метку последнго успешного события. Если вы уверены в своих силах и втом, что вы не забудете перенести кроны - крон. Если знаете как решить потенциальные проблемы с пользователем, от которого работюат триггеры и процедуры - делайте в базе. В том или ином виде задача решается однозначно и малыми костами. Просто кому то удобно за 10 минут скрипт сваять, а кому то в базу пару запросов воткнуть. Единого верного решения здесь быть не может. Следуйте принципу write less do more и будет вам счастье! Ссылка на комментарий Поделиться на других сайтах Больше способов поделиться... Otvet Опубликовано: 25 декабря 2019 Поделиться Опубликовано: 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 Ссылка на комментарий Поделиться на других сайтах Больше способов поделиться... anboza Опубликовано: 25 декабря 2019 Автор Поделиться Опубликовано: 25 декабря 2019 Только что, Otvet сказал: так и не понял, зачем писать в базу? в базу писать для того, чтобы обрабатывать не на клиенте. И в клиента передавать 1 конечное значение, а не передавать значение, плодить переменные и потом все это обрабатывать. Речь об оптимальном решении, с возможностью использовать преимущество наличия БД. Только что, Yoda сказал: Просто кому то удобно за 10 минут скрипт сваять, а кому то в базу пару запросов воткнуть. Единого верного решения здесь быть не может. Для того и обсуждаем на форуме)) В любом случае, я благодарен всем участникам дискуссии, за версии, мысли и предложения ))) Ссылка на комментарий Поделиться на других сайтах Больше способов поделиться... Создайте аккаунт или войдите в него для комментирования Вы должны быть пользователем, чтобы оставить комментарий Создать аккаунт Зарегистрируйтесь для получения аккаунта. Это просто! Зарегистрировать аккаунт Войти Уже зарегистрированы? Войдите здесь. Войти сейчас Поделиться Больше способов поделиться... Подписчики 0 Перейти к списку тем Сейчас на странице 0 пользователей Нет пользователей, просматривающих эту страницу. Последние темы Последние дополнения Последние новости Вся активность Главная Поддержка и ответы на вопросы Помощь программистам и разработчикам Mysql+ trigger Покупцям Оплата розширень фізичними особами Оплата розширень юридичними особами Політика повернень Розробникам Регламент розміщення розширень Регламент продажу та підтримки розширень Віртуальний обліковий запис автора Політика просування оголошень API каталогу розширень Вирішення спорів щодо авторських прав Корисна інформація Публічна оферта Політика повернень Політика конфіденційності Платіжна політика Політика передачі особистих даних Політика прозорості Останні розширення Deals – адаптивный универсальный шаблон Автор: octemplates Динамичесткая инфострока в шапке + позиция в макете для opencart\ocstore 2x, 3x Автор: Lito911 Единицы Измерения Товара Автор: RoS Opencart Product Search by Image Автор: slavoglo Простой массовый редактор цен. Fast Price Edit Автор: Sha × Уже зарегистрированы? Войти Регистрация Раздел покупок Назад Приобретенные дополнения Ваши счета Список желаний Альтернативные контакты Форум Новости ocStore Назад Официальный сайт Демо ocStore 3.0.3.2 Демо ocStore 2.3.0.2.4 Скачать ocStore Документация История версий ocStore Блоги Модули Шаблоны Назад Бесплатные шаблоны Платные шаблоны Где покупать модули? Услуги FAQ OpenCart.Pro Назад Демо Купить Сравнение × Создать... Важная информация На нашем сайте используются файлы cookie и происходит обработка некоторых персональных данных пользователей, чтобы улучшить пользовательский интерфейс. Чтобы узнать для чего и какие персональные данные мы обрабатываем перейдите по ссылке. Если Вы нажмете «Я даю согласие», это означает, что Вы понимаете и принимаете все условия, указанные в этом Уведомлении о Конфиденциальности. Я принимаю
anboza Опубликовано: 24 декабря 2019 Автор Поделиться Опубликовано: 24 декабря 2019 мне нужно выполнять действие, на стороне сервера.мне не нужен сервис дополнительный. это все надстройки, которые не нужны!!! Ссылка на комментарий Поделиться на других сайтах Больше способов поделиться... stickpro Опубликовано: 24 декабря 2019 Поделиться Опубликовано: 24 декабря 2019 16 минут назад, anboza сказал: мне нужно выполнять действие, на стороне сервера.мне не нужен сервис дополнительный. это все надстройки, которые не нужны!!! все вам правильно написали, пишите скрипт который берет данные из бд и возвращаюет туда же, и срабатывает по крону каждый день в нужное время Ссылка на комментарий Поделиться на других сайтах Больше способов поделиться... Yoda Опубликовано: 24 декабря 2019 Поделиться Опубликовано: 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. Ссылка на комментарий Поделиться на других сайтах Больше способов поделиться... anboza Опубликовано: 24 декабря 2019 Автор Поделиться Опубликовано: 24 декабря 2019 но это же жесть ((( а зачем тогда вообще сервер БД? для того, чтобы просто таблицы хранить? Ссылка на комментарий Поделиться на других сайтах Больше способов поделиться... anboza Опубликовано: 24 декабря 2019 Автор Поделиться Опубликовано: 24 декабря 2019 1 минуту назад, nikifalex сказал: а если сервер случайно выключили во время когда должно сработать событие? ну так в том и соль, что триггер должен сработать не просто "в момент", а по состоянию на момент...и так он и работает в "нормальных" СУБД Ссылка на комментарий Поделиться на других сайтах Больше способов поделиться... i3bepb Опубликовано: 25 декабря 2019 Поделиться Опубликовано: 25 декабря 2019 10 часов назад, anboza сказал: ну так в том и соль, что триггер должен сработать не просто "в момент", а по состоянию на момент Ну можно придумать такой алгоритм. Создать триггер на select из этой таблицы. Делаем хранилище для метки, которая помогает определять добавлять +3 или нет, например еще таблицу. В триггере такой примерно алгоритм - смотреть текущее время и сравниваем ее с меткой, в метке может быть текущее время с прошлого добавления +3, делаем вывод надо ли добавлять +3 или нет, если надо, то добавляем и обновляем метку, если нет, то ничего не делаем. Но я бы так не делал. Лучше в коде php обложить select-ы из той таблицы проверкой по аналогичному алгоритму, это будет легче поддерживать. Ссылка на комментарий Поделиться на других сайтах Больше способов поделиться... chukcha Опубликовано: 25 декабря 2019 Поделиться Опубликовано: 25 декабря 2019 3 часа назад, i3bepb сказал: Создать триггер на select из этой таблицы. расскажите - как Ссылка на комментарий Поделиться на других сайтах Больше способов поделиться... anboza Опубликовано: 25 декабря 2019 Автор Поделиться Опубликовано: 25 декабря 2019 3 часа назад, nikifalex сказал: пока нет понимания, для чего это надо вопрошающему, все потуги как то решить проблему, тщетны. я в первом посте описал задачу. она именно так и выглядит. результат этого состояния счетчика, просто будет выводиться на фронте, в блоке типа "наш сервис посетило" столько-то людей. Ссылка на комментарий Поделиться на других сайтах Больше способов поделиться... anboza Опубликовано: 25 декабря 2019 Автор Поделиться Опубликовано: 25 декабря 2019 4 часа назад, i3bepb сказал: Создать триггер на select из этой таблицы. ну как бы вариант, но уж больно он громоздкий. Ну и не факт, что обращение будет каждый день. Соответственно нужно не просто проверять дату обновления, но и вычислять разность и потом умножать накол-во пропущенных дней... Я же ищу вариант решения, чтобы задача выполнялась просто на сервере. Каждый день, вне зависимости от селектов и апдейтов каких-либо данных... Но сдается мне, что это не про mysql, судя по обсуждению... Ссылка на комментарий Поделиться на других сайтах Больше способов поделиться... chukcha Опубликовано: 25 декабря 2019 Поделиться Опубликовано: 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. Что здесь не так? Ссылка на комментарий Поделиться на других сайтах Больше способов поделиться... i3bepb Опубликовано: 25 декабря 2019 Поделиться Опубликовано: 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. Ссылка на комментарий Поделиться на других сайтах Больше способов поделиться... i3bepb Опубликовано: 25 декабря 2019 Поделиться Опубликовано: 25 декабря 2019 1 час назад, chukcha сказал: расскажите - как Да Вы правы на select триггер не навешать, но если погуглить, то например предлагается вариант через хранимые процедуры, т.е. вместо select-а на прямую делается процедура, которая будет оберткой и уже в ней алгоритм. Возможно еще какие-то решения найдутся как это сделать. Ссылка на комментарий Поделиться на других сайтах Больше способов поделиться... chukcha Опубликовано: 25 декабря 2019 Поделиться Опубликовано: 25 декабря 2019 Самое простое крон Более менее управляемо, и вычисляемо Таски (евентсы) о них нужно знать, помнить и использовать, но это должно быть в ГДЕ- ТО - Внимание Есть events Ссылка на комментарий Поделиться на других сайтах Больше способов поделиться... anboza Опубликовано: 25 декабря 2019 Автор Поделиться Опубликовано: 25 декабря 2019 Только что, chukcha сказал: Что здесь не так? здесь все так, просто пояснял суть заданного вопроса. Ссылка на комментарий Поделиться на других сайтах Больше способов поделиться... Yoda Опубликовано: 25 декабря 2019 Поделиться Опубликовано: 25 декабря 2019 Я с вас со всех худею дорогая редакция. Откуда столько глупостей в голове? 1. Если падает сервер и не срабатывает sheduled task - надо просто менять сервер. 2. Любые хранимые процедуры, триггеры и таски в базе - в конечном итоге оборачиваются некой головной болью при смене окружения, особенно если используется shared хостинг. 3. Нет принципиальной разницы это cron скрипт php, cron команда mysql или bash скрипт. Это все серверные пережитки и они все обладают одним большим недостатком - при смене окружения, паролей в базу, пользователя базы, про них можно случайно забыть. 4. Если делать совсем дубово в рамках идеи opencart - надо делать какой то шедаллер в виде событий при инициализации генераций страниц с файлом или записью базы содержащими временную метку последнго успешного события. Если вы уверены в своих силах и втом, что вы не забудете перенести кроны - крон. Если знаете как решить потенциальные проблемы с пользователем, от которого работюат триггеры и процедуры - делайте в базе. В том или ином виде задача решается однозначно и малыми костами. Просто кому то удобно за 10 минут скрипт сваять, а кому то в базу пару запросов воткнуть. Единого верного решения здесь быть не может. Следуйте принципу write less do more и будет вам счастье! Ссылка на комментарий Поделиться на других сайтах Больше способов поделиться... Otvet Опубликовано: 25 декабря 2019 Поделиться Опубликовано: 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 Ссылка на комментарий Поделиться на других сайтах Больше способов поделиться... anboza Опубликовано: 25 декабря 2019 Автор Поделиться Опубликовано: 25 декабря 2019 Только что, Otvet сказал: так и не понял, зачем писать в базу? в базу писать для того, чтобы обрабатывать не на клиенте. И в клиента передавать 1 конечное значение, а не передавать значение, плодить переменные и потом все это обрабатывать. Речь об оптимальном решении, с возможностью использовать преимущество наличия БД. Только что, Yoda сказал: Просто кому то удобно за 10 минут скрипт сваять, а кому то в базу пару запросов воткнуть. Единого верного решения здесь быть не может. Для того и обсуждаем на форуме)) В любом случае, я благодарен всем участникам дискуссии, за версии, мысли и предложения ))) Ссылка на комментарий Поделиться на других сайтах Больше способов поделиться... Создайте аккаунт или войдите в него для комментирования Вы должны быть пользователем, чтобы оставить комментарий Создать аккаунт Зарегистрируйтесь для получения аккаунта. Это просто! Зарегистрировать аккаунт Войти Уже зарегистрированы? Войдите здесь. Войти сейчас Поделиться Больше способов поделиться... Подписчики 0 Перейти к списку тем Сейчас на странице 0 пользователей Нет пользователей, просматривающих эту страницу. Последние темы Последние дополнения Последние новости Вся активность Главная Поддержка и ответы на вопросы Помощь программистам и разработчикам Mysql+ trigger Покупцям Оплата розширень фізичними особами Оплата розширень юридичними особами Політика повернень Розробникам Регламент розміщення розширень Регламент продажу та підтримки розширень Віртуальний обліковий запис автора Політика просування оголошень API каталогу розширень Вирішення спорів щодо авторських прав Корисна інформація Публічна оферта Політика повернень Політика конфіденційності Платіжна політика Політика передачі особистих даних Політика прозорості Останні розширення Deals – адаптивный универсальный шаблон Автор: octemplates Динамичесткая инфострока в шапке + позиция в макете для opencart\ocstore 2x, 3x Автор: Lito911 Единицы Измерения Товара Автор: RoS Opencart Product Search by Image Автор: slavoglo Простой массовый редактор цен. Fast Price Edit Автор: Sha × Уже зарегистрированы? Войти Регистрация Раздел покупок Назад Приобретенные дополнения Ваши счета Список желаний Альтернативные контакты Форум Новости ocStore Назад Официальный сайт Демо ocStore 3.0.3.2 Демо ocStore 2.3.0.2.4 Скачать ocStore Документация История версий ocStore Блоги Модули Шаблоны Назад Бесплатные шаблоны Платные шаблоны Где покупать модули? Услуги FAQ OpenCart.Pro Назад Демо Купить Сравнение × Создать... Важная информация На нашем сайте используются файлы cookie и происходит обработка некоторых персональных данных пользователей, чтобы улучшить пользовательский интерфейс. Чтобы узнать для чего и какие персональные данные мы обрабатываем перейдите по ссылке. Если Вы нажмете «Я даю согласие», это означает, что Вы понимаете и принимаете все условия, указанные в этом Уведомлении о Конфиденциальности. Я принимаю
stickpro Опубликовано: 24 декабря 2019 Поделиться Опубликовано: 24 декабря 2019 16 минут назад, anboza сказал: мне нужно выполнять действие, на стороне сервера.мне не нужен сервис дополнительный. это все надстройки, которые не нужны!!! все вам правильно написали, пишите скрипт который берет данные из бд и возвращаюет туда же, и срабатывает по крону каждый день в нужное время Ссылка на комментарий Поделиться на других сайтах Больше способов поделиться... Yoda Опубликовано: 24 декабря 2019 Поделиться Опубликовано: 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. Ссылка на комментарий Поделиться на других сайтах Больше способов поделиться... anboza Опубликовано: 24 декабря 2019 Автор Поделиться Опубликовано: 24 декабря 2019 но это же жесть ((( а зачем тогда вообще сервер БД? для того, чтобы просто таблицы хранить? Ссылка на комментарий Поделиться на других сайтах Больше способов поделиться... anboza Опубликовано: 24 декабря 2019 Автор Поделиться Опубликовано: 24 декабря 2019 1 минуту назад, nikifalex сказал: а если сервер случайно выключили во время когда должно сработать событие? ну так в том и соль, что триггер должен сработать не просто "в момент", а по состоянию на момент...и так он и работает в "нормальных" СУБД Ссылка на комментарий Поделиться на других сайтах Больше способов поделиться... i3bepb Опубликовано: 25 декабря 2019 Поделиться Опубликовано: 25 декабря 2019 10 часов назад, anboza сказал: ну так в том и соль, что триггер должен сработать не просто "в момент", а по состоянию на момент Ну можно придумать такой алгоритм. Создать триггер на select из этой таблицы. Делаем хранилище для метки, которая помогает определять добавлять +3 или нет, например еще таблицу. В триггере такой примерно алгоритм - смотреть текущее время и сравниваем ее с меткой, в метке может быть текущее время с прошлого добавления +3, делаем вывод надо ли добавлять +3 или нет, если надо, то добавляем и обновляем метку, если нет, то ничего не делаем. Но я бы так не делал. Лучше в коде php обложить select-ы из той таблицы проверкой по аналогичному алгоритму, это будет легче поддерживать. Ссылка на комментарий Поделиться на других сайтах Больше способов поделиться... chukcha Опубликовано: 25 декабря 2019 Поделиться Опубликовано: 25 декабря 2019 3 часа назад, i3bepb сказал: Создать триггер на select из этой таблицы. расскажите - как Ссылка на комментарий Поделиться на других сайтах Больше способов поделиться... anboza Опубликовано: 25 декабря 2019 Автор Поделиться Опубликовано: 25 декабря 2019 3 часа назад, nikifalex сказал: пока нет понимания, для чего это надо вопрошающему, все потуги как то решить проблему, тщетны. я в первом посте описал задачу. она именно так и выглядит. результат этого состояния счетчика, просто будет выводиться на фронте, в блоке типа "наш сервис посетило" столько-то людей. Ссылка на комментарий Поделиться на других сайтах Больше способов поделиться... anboza Опубликовано: 25 декабря 2019 Автор Поделиться Опубликовано: 25 декабря 2019 4 часа назад, i3bepb сказал: Создать триггер на select из этой таблицы. ну как бы вариант, но уж больно он громоздкий. Ну и не факт, что обращение будет каждый день. Соответственно нужно не просто проверять дату обновления, но и вычислять разность и потом умножать накол-во пропущенных дней... Я же ищу вариант решения, чтобы задача выполнялась просто на сервере. Каждый день, вне зависимости от селектов и апдейтов каких-либо данных... Но сдается мне, что это не про mysql, судя по обсуждению... Ссылка на комментарий Поделиться на других сайтах Больше способов поделиться... chukcha Опубликовано: 25 декабря 2019 Поделиться Опубликовано: 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. Что здесь не так? Ссылка на комментарий Поделиться на других сайтах Больше способов поделиться... i3bepb Опубликовано: 25 декабря 2019 Поделиться Опубликовано: 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. Ссылка на комментарий Поделиться на других сайтах Больше способов поделиться... i3bepb Опубликовано: 25 декабря 2019 Поделиться Опубликовано: 25 декабря 2019 1 час назад, chukcha сказал: расскажите - как Да Вы правы на select триггер не навешать, но если погуглить, то например предлагается вариант через хранимые процедуры, т.е. вместо select-а на прямую делается процедура, которая будет оберткой и уже в ней алгоритм. Возможно еще какие-то решения найдутся как это сделать. Ссылка на комментарий Поделиться на других сайтах Больше способов поделиться... chukcha Опубликовано: 25 декабря 2019 Поделиться Опубликовано: 25 декабря 2019 Самое простое крон Более менее управляемо, и вычисляемо Таски (евентсы) о них нужно знать, помнить и использовать, но это должно быть в ГДЕ- ТО - Внимание Есть events Ссылка на комментарий Поделиться на других сайтах Больше способов поделиться... anboza Опубликовано: 25 декабря 2019 Автор Поделиться Опубликовано: 25 декабря 2019 Только что, chukcha сказал: Что здесь не так? здесь все так, просто пояснял суть заданного вопроса. Ссылка на комментарий Поделиться на других сайтах Больше способов поделиться... Yoda Опубликовано: 25 декабря 2019 Поделиться Опубликовано: 25 декабря 2019 Я с вас со всех худею дорогая редакция. Откуда столько глупостей в голове? 1. Если падает сервер и не срабатывает sheduled task - надо просто менять сервер. 2. Любые хранимые процедуры, триггеры и таски в базе - в конечном итоге оборачиваются некой головной болью при смене окружения, особенно если используется shared хостинг. 3. Нет принципиальной разницы это cron скрипт php, cron команда mysql или bash скрипт. Это все серверные пережитки и они все обладают одним большим недостатком - при смене окружения, паролей в базу, пользователя базы, про них можно случайно забыть. 4. Если делать совсем дубово в рамках идеи opencart - надо делать какой то шедаллер в виде событий при инициализации генераций страниц с файлом или записью базы содержащими временную метку последнго успешного события. Если вы уверены в своих силах и втом, что вы не забудете перенести кроны - крон. Если знаете как решить потенциальные проблемы с пользователем, от которого работюат триггеры и процедуры - делайте в базе. В том или ином виде задача решается однозначно и малыми костами. Просто кому то удобно за 10 минут скрипт сваять, а кому то в базу пару запросов воткнуть. Единого верного решения здесь быть не может. Следуйте принципу write less do more и будет вам счастье! Ссылка на комментарий Поделиться на других сайтах Больше способов поделиться... Otvet Опубликовано: 25 декабря 2019 Поделиться Опубликовано: 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 Ссылка на комментарий Поделиться на других сайтах Больше способов поделиться... anboza Опубликовано: 25 декабря 2019 Автор Поделиться Опубликовано: 25 декабря 2019 Только что, Otvet сказал: так и не понял, зачем писать в базу? в базу писать для того, чтобы обрабатывать не на клиенте. И в клиента передавать 1 конечное значение, а не передавать значение, плодить переменные и потом все это обрабатывать. Речь об оптимальном решении, с возможностью использовать преимущество наличия БД. Только что, Yoda сказал: Просто кому то удобно за 10 минут скрипт сваять, а кому то в базу пару запросов воткнуть. Единого верного решения здесь быть не может. Для того и обсуждаем на форуме)) В любом случае, я благодарен всем участникам дискуссии, за версии, мысли и предложения ))) Ссылка на комментарий Поделиться на других сайтах Больше способов поделиться... Создайте аккаунт или войдите в него для комментирования Вы должны быть пользователем, чтобы оставить комментарий Создать аккаунт Зарегистрируйтесь для получения аккаунта. Это просто! Зарегистрировать аккаунт Войти Уже зарегистрированы? Войдите здесь. Войти сейчас Поделиться Больше способов поделиться... Подписчики 0 Перейти к списку тем Сейчас на странице 0 пользователей Нет пользователей, просматривающих эту страницу. Последние темы Последние дополнения Последние новости Вся активность Главная Поддержка и ответы на вопросы Помощь программистам и разработчикам Mysql+ trigger Покупцям Оплата розширень фізичними особами Оплата розширень юридичними особами Політика повернень Розробникам Регламент розміщення розширень Регламент продажу та підтримки розширень Віртуальний обліковий запис автора Політика просування оголошень API каталогу розширень Вирішення спорів щодо авторських прав Корисна інформація Публічна оферта Політика повернень Політика конфіденційності Платіжна політика Політика передачі особистих даних Політика прозорості Останні розширення Deals – адаптивный универсальный шаблон Автор: octemplates Динамичесткая инфострока в шапке + позиция в макете для opencart\ocstore 2x, 3x Автор: Lito911 Единицы Измерения Товара Автор: RoS Opencart Product Search by Image Автор: slavoglo Простой массовый редактор цен. Fast Price Edit Автор: Sha × Уже зарегистрированы? Войти Регистрация Раздел покупок Назад Приобретенные дополнения Ваши счета Список желаний Альтернативные контакты Форум Новости ocStore Назад Официальный сайт Демо ocStore 3.0.3.2 Демо ocStore 2.3.0.2.4 Скачать ocStore Документация История версий ocStore Блоги Модули Шаблоны Назад Бесплатные шаблоны Платные шаблоны Где покупать модули? Услуги FAQ OpenCart.Pro Назад Демо Купить Сравнение × Создать... Важная информация На нашем сайте используются файлы cookie и происходит обработка некоторых персональных данных пользователей, чтобы улучшить пользовательский интерфейс. Чтобы узнать для чего и какие персональные данные мы обрабатываем перейдите по ссылке. Если Вы нажмете «Я даю согласие», это означает, что Вы понимаете и принимаете все условия, указанные в этом Уведомлении о Конфиденциальности. Я принимаю
Yoda Опубликовано: 24 декабря 2019 Поделиться Опубликовано: 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. Ссылка на комментарий Поделиться на других сайтах Больше способов поделиться...
anboza Опубликовано: 24 декабря 2019 Автор Поделиться Опубликовано: 24 декабря 2019 но это же жесть ((( а зачем тогда вообще сервер БД? для того, чтобы просто таблицы хранить? Ссылка на комментарий Поделиться на других сайтах Больше способов поделиться... anboza Опубликовано: 24 декабря 2019 Автор Поделиться Опубликовано: 24 декабря 2019 1 минуту назад, nikifalex сказал: а если сервер случайно выключили во время когда должно сработать событие? ну так в том и соль, что триггер должен сработать не просто "в момент", а по состоянию на момент...и так он и работает в "нормальных" СУБД Ссылка на комментарий Поделиться на других сайтах Больше способов поделиться... i3bepb Опубликовано: 25 декабря 2019 Поделиться Опубликовано: 25 декабря 2019 10 часов назад, anboza сказал: ну так в том и соль, что триггер должен сработать не просто "в момент", а по состоянию на момент Ну можно придумать такой алгоритм. Создать триггер на select из этой таблицы. Делаем хранилище для метки, которая помогает определять добавлять +3 или нет, например еще таблицу. В триггере такой примерно алгоритм - смотреть текущее время и сравниваем ее с меткой, в метке может быть текущее время с прошлого добавления +3, делаем вывод надо ли добавлять +3 или нет, если надо, то добавляем и обновляем метку, если нет, то ничего не делаем. Но я бы так не делал. Лучше в коде php обложить select-ы из той таблицы проверкой по аналогичному алгоритму, это будет легче поддерживать. Ссылка на комментарий Поделиться на других сайтах Больше способов поделиться... chukcha Опубликовано: 25 декабря 2019 Поделиться Опубликовано: 25 декабря 2019 3 часа назад, i3bepb сказал: Создать триггер на select из этой таблицы. расскажите - как Ссылка на комментарий Поделиться на других сайтах Больше способов поделиться... anboza Опубликовано: 25 декабря 2019 Автор Поделиться Опубликовано: 25 декабря 2019 3 часа назад, nikifalex сказал: пока нет понимания, для чего это надо вопрошающему, все потуги как то решить проблему, тщетны. я в первом посте описал задачу. она именно так и выглядит. результат этого состояния счетчика, просто будет выводиться на фронте, в блоке типа "наш сервис посетило" столько-то людей. Ссылка на комментарий Поделиться на других сайтах Больше способов поделиться... anboza Опубликовано: 25 декабря 2019 Автор Поделиться Опубликовано: 25 декабря 2019 4 часа назад, i3bepb сказал: Создать триггер на select из этой таблицы. ну как бы вариант, но уж больно он громоздкий. Ну и не факт, что обращение будет каждый день. Соответственно нужно не просто проверять дату обновления, но и вычислять разность и потом умножать накол-во пропущенных дней... Я же ищу вариант решения, чтобы задача выполнялась просто на сервере. Каждый день, вне зависимости от селектов и апдейтов каких-либо данных... Но сдается мне, что это не про mysql, судя по обсуждению... Ссылка на комментарий Поделиться на других сайтах Больше способов поделиться... chukcha Опубликовано: 25 декабря 2019 Поделиться Опубликовано: 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. Что здесь не так? Ссылка на комментарий Поделиться на других сайтах Больше способов поделиться... i3bepb Опубликовано: 25 декабря 2019 Поделиться Опубликовано: 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. Ссылка на комментарий Поделиться на других сайтах Больше способов поделиться... i3bepb Опубликовано: 25 декабря 2019 Поделиться Опубликовано: 25 декабря 2019 1 час назад, chukcha сказал: расскажите - как Да Вы правы на select триггер не навешать, но если погуглить, то например предлагается вариант через хранимые процедуры, т.е. вместо select-а на прямую делается процедура, которая будет оберткой и уже в ней алгоритм. Возможно еще какие-то решения найдутся как это сделать. Ссылка на комментарий Поделиться на других сайтах Больше способов поделиться... chukcha Опубликовано: 25 декабря 2019 Поделиться Опубликовано: 25 декабря 2019 Самое простое крон Более менее управляемо, и вычисляемо Таски (евентсы) о них нужно знать, помнить и использовать, но это должно быть в ГДЕ- ТО - Внимание Есть events Ссылка на комментарий Поделиться на других сайтах Больше способов поделиться... anboza Опубликовано: 25 декабря 2019 Автор Поделиться Опубликовано: 25 декабря 2019 Только что, chukcha сказал: Что здесь не так? здесь все так, просто пояснял суть заданного вопроса. Ссылка на комментарий Поделиться на других сайтах Больше способов поделиться... Yoda Опубликовано: 25 декабря 2019 Поделиться Опубликовано: 25 декабря 2019 Я с вас со всех худею дорогая редакция. Откуда столько глупостей в голове? 1. Если падает сервер и не срабатывает sheduled task - надо просто менять сервер. 2. Любые хранимые процедуры, триггеры и таски в базе - в конечном итоге оборачиваются некой головной болью при смене окружения, особенно если используется shared хостинг. 3. Нет принципиальной разницы это cron скрипт php, cron команда mysql или bash скрипт. Это все серверные пережитки и они все обладают одним большим недостатком - при смене окружения, паролей в базу, пользователя базы, про них можно случайно забыть. 4. Если делать совсем дубово в рамках идеи opencart - надо делать какой то шедаллер в виде событий при инициализации генераций страниц с файлом или записью базы содержащими временную метку последнго успешного события. Если вы уверены в своих силах и втом, что вы не забудете перенести кроны - крон. Если знаете как решить потенциальные проблемы с пользователем, от которого работюат триггеры и процедуры - делайте в базе. В том или ином виде задача решается однозначно и малыми костами. Просто кому то удобно за 10 минут скрипт сваять, а кому то в базу пару запросов воткнуть. Единого верного решения здесь быть не может. Следуйте принципу write less do more и будет вам счастье! Ссылка на комментарий Поделиться на других сайтах Больше способов поделиться... Otvet Опубликовано: 25 декабря 2019 Поделиться Опубликовано: 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 Ссылка на комментарий Поделиться на других сайтах Больше способов поделиться... anboza Опубликовано: 25 декабря 2019 Автор Поделиться Опубликовано: 25 декабря 2019 Только что, Otvet сказал: так и не понял, зачем писать в базу? в базу писать для того, чтобы обрабатывать не на клиенте. И в клиента передавать 1 конечное значение, а не передавать значение, плодить переменные и потом все это обрабатывать. Речь об оптимальном решении, с возможностью использовать преимущество наличия БД. Только что, Yoda сказал: Просто кому то удобно за 10 минут скрипт сваять, а кому то в базу пару запросов воткнуть. Единого верного решения здесь быть не может. Для того и обсуждаем на форуме)) В любом случае, я благодарен всем участникам дискуссии, за версии, мысли и предложения ))) Ссылка на комментарий Поделиться на других сайтах Больше способов поделиться... Создайте аккаунт или войдите в него для комментирования Вы должны быть пользователем, чтобы оставить комментарий Создать аккаунт Зарегистрируйтесь для получения аккаунта. Это просто! Зарегистрировать аккаунт Войти Уже зарегистрированы? Войдите здесь. Войти сейчас Поделиться Больше способов поделиться... Подписчики 0 Перейти к списку тем Сейчас на странице 0 пользователей Нет пользователей, просматривающих эту страницу. Последние темы Последние дополнения Последние новости Вся активность Главная Поддержка и ответы на вопросы Помощь программистам и разработчикам Mysql+ trigger Покупцям Оплата розширень фізичними особами Оплата розширень юридичними особами Політика повернень Розробникам Регламент розміщення розширень Регламент продажу та підтримки розширень Віртуальний обліковий запис автора Політика просування оголошень API каталогу розширень Вирішення спорів щодо авторських прав Корисна інформація Публічна оферта Політика повернень Політика конфіденційності Платіжна політика Політика передачі особистих даних Політика прозорості Останні розширення Deals – адаптивный универсальный шаблон Автор: octemplates Динамичесткая инфострока в шапке + позиция в макете для opencart\ocstore 2x, 3x Автор: Lito911 Единицы Измерения Товара Автор: RoS Opencart Product Search by Image Автор: slavoglo Простой массовый редактор цен. Fast Price Edit Автор: Sha × Уже зарегистрированы? Войти Регистрация Раздел покупок Назад Приобретенные дополнения Ваши счета Список желаний Альтернативные контакты Форум Новости ocStore Назад Официальный сайт Демо ocStore 3.0.3.2 Демо ocStore 2.3.0.2.4 Скачать ocStore Документация История версий ocStore Блоги Модули Шаблоны Назад Бесплатные шаблоны Платные шаблоны Где покупать модули? Услуги FAQ OpenCart.Pro Назад Демо Купить Сравнение × Создать... Важная информация На нашем сайте используются файлы cookie и происходит обработка некоторых персональных данных пользователей, чтобы улучшить пользовательский интерфейс. Чтобы узнать для чего и какие персональные данные мы обрабатываем перейдите по ссылке. Если Вы нажмете «Я даю согласие», это означает, что Вы понимаете и принимаете все условия, указанные в этом Уведомлении о Конфиденциальности. Я принимаю
anboza Опубликовано: 24 декабря 2019 Автор Поделиться Опубликовано: 24 декабря 2019 1 минуту назад, nikifalex сказал: а если сервер случайно выключили во время когда должно сработать событие? ну так в том и соль, что триггер должен сработать не просто "в момент", а по состоянию на момент...и так он и работает в "нормальных" СУБД Ссылка на комментарий Поделиться на других сайтах Больше способов поделиться... i3bepb Опубликовано: 25 декабря 2019 Поделиться Опубликовано: 25 декабря 2019 10 часов назад, anboza сказал: ну так в том и соль, что триггер должен сработать не просто "в момент", а по состоянию на момент Ну можно придумать такой алгоритм. Создать триггер на select из этой таблицы. Делаем хранилище для метки, которая помогает определять добавлять +3 или нет, например еще таблицу. В триггере такой примерно алгоритм - смотреть текущее время и сравниваем ее с меткой, в метке может быть текущее время с прошлого добавления +3, делаем вывод надо ли добавлять +3 или нет, если надо, то добавляем и обновляем метку, если нет, то ничего не делаем. Но я бы так не делал. Лучше в коде php обложить select-ы из той таблицы проверкой по аналогичному алгоритму, это будет легче поддерживать. Ссылка на комментарий Поделиться на других сайтах Больше способов поделиться... chukcha Опубликовано: 25 декабря 2019 Поделиться Опубликовано: 25 декабря 2019 3 часа назад, i3bepb сказал: Создать триггер на select из этой таблицы. расскажите - как Ссылка на комментарий Поделиться на других сайтах Больше способов поделиться... anboza Опубликовано: 25 декабря 2019 Автор Поделиться Опубликовано: 25 декабря 2019 3 часа назад, nikifalex сказал: пока нет понимания, для чего это надо вопрошающему, все потуги как то решить проблему, тщетны. я в первом посте описал задачу. она именно так и выглядит. результат этого состояния счетчика, просто будет выводиться на фронте, в блоке типа "наш сервис посетило" столько-то людей. Ссылка на комментарий Поделиться на других сайтах Больше способов поделиться... anboza Опубликовано: 25 декабря 2019 Автор Поделиться Опубликовано: 25 декабря 2019 4 часа назад, i3bepb сказал: Создать триггер на select из этой таблицы. ну как бы вариант, но уж больно он громоздкий. Ну и не факт, что обращение будет каждый день. Соответственно нужно не просто проверять дату обновления, но и вычислять разность и потом умножать накол-во пропущенных дней... Я же ищу вариант решения, чтобы задача выполнялась просто на сервере. Каждый день, вне зависимости от селектов и апдейтов каких-либо данных... Но сдается мне, что это не про mysql, судя по обсуждению... Ссылка на комментарий Поделиться на других сайтах Больше способов поделиться... chukcha Опубликовано: 25 декабря 2019 Поделиться Опубликовано: 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. Что здесь не так? Ссылка на комментарий Поделиться на других сайтах Больше способов поделиться... i3bepb Опубликовано: 25 декабря 2019 Поделиться Опубликовано: 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. Ссылка на комментарий Поделиться на других сайтах Больше способов поделиться... i3bepb Опубликовано: 25 декабря 2019 Поделиться Опубликовано: 25 декабря 2019 1 час назад, chukcha сказал: расскажите - как Да Вы правы на select триггер не навешать, но если погуглить, то например предлагается вариант через хранимые процедуры, т.е. вместо select-а на прямую делается процедура, которая будет оберткой и уже в ней алгоритм. Возможно еще какие-то решения найдутся как это сделать. Ссылка на комментарий Поделиться на других сайтах Больше способов поделиться... chukcha Опубликовано: 25 декабря 2019 Поделиться Опубликовано: 25 декабря 2019 Самое простое крон Более менее управляемо, и вычисляемо Таски (евентсы) о них нужно знать, помнить и использовать, но это должно быть в ГДЕ- ТО - Внимание Есть events Ссылка на комментарий Поделиться на других сайтах Больше способов поделиться... anboza Опубликовано: 25 декабря 2019 Автор Поделиться Опубликовано: 25 декабря 2019 Только что, chukcha сказал: Что здесь не так? здесь все так, просто пояснял суть заданного вопроса. Ссылка на комментарий Поделиться на других сайтах Больше способов поделиться... Yoda Опубликовано: 25 декабря 2019 Поделиться Опубликовано: 25 декабря 2019 Я с вас со всех худею дорогая редакция. Откуда столько глупостей в голове? 1. Если падает сервер и не срабатывает sheduled task - надо просто менять сервер. 2. Любые хранимые процедуры, триггеры и таски в базе - в конечном итоге оборачиваются некой головной болью при смене окружения, особенно если используется shared хостинг. 3. Нет принципиальной разницы это cron скрипт php, cron команда mysql или bash скрипт. Это все серверные пережитки и они все обладают одним большим недостатком - при смене окружения, паролей в базу, пользователя базы, про них можно случайно забыть. 4. Если делать совсем дубово в рамках идеи opencart - надо делать какой то шедаллер в виде событий при инициализации генераций страниц с файлом или записью базы содержащими временную метку последнго успешного события. Если вы уверены в своих силах и втом, что вы не забудете перенести кроны - крон. Если знаете как решить потенциальные проблемы с пользователем, от которого работюат триггеры и процедуры - делайте в базе. В том или ином виде задача решается однозначно и малыми костами. Просто кому то удобно за 10 минут скрипт сваять, а кому то в базу пару запросов воткнуть. Единого верного решения здесь быть не может. Следуйте принципу write less do more и будет вам счастье! Ссылка на комментарий Поделиться на других сайтах Больше способов поделиться... Otvet Опубликовано: 25 декабря 2019 Поделиться Опубликовано: 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 Ссылка на комментарий Поделиться на других сайтах Больше способов поделиться... anboza Опубликовано: 25 декабря 2019 Автор Поделиться Опубликовано: 25 декабря 2019 Только что, Otvet сказал: так и не понял, зачем писать в базу? в базу писать для того, чтобы обрабатывать не на клиенте. И в клиента передавать 1 конечное значение, а не передавать значение, плодить переменные и потом все это обрабатывать. Речь об оптимальном решении, с возможностью использовать преимущество наличия БД. Только что, Yoda сказал: Просто кому то удобно за 10 минут скрипт сваять, а кому то в базу пару запросов воткнуть. Единого верного решения здесь быть не может. Для того и обсуждаем на форуме)) В любом случае, я благодарен всем участникам дискуссии, за версии, мысли и предложения ))) Ссылка на комментарий Поделиться на других сайтах Больше способов поделиться... Создайте аккаунт или войдите в него для комментирования Вы должны быть пользователем, чтобы оставить комментарий Создать аккаунт Зарегистрируйтесь для получения аккаунта. Это просто! Зарегистрировать аккаунт Войти Уже зарегистрированы? Войдите здесь. Войти сейчас Поделиться Больше способов поделиться... Подписчики 0 Перейти к списку тем Сейчас на странице 0 пользователей Нет пользователей, просматривающих эту страницу. Последние темы Последние дополнения Последние новости Вся активность Главная Поддержка и ответы на вопросы Помощь программистам и разработчикам Mysql+ trigger Покупцям Оплата розширень фізичними особами Оплата розширень юридичними особами Політика повернень Розробникам Регламент розміщення розширень Регламент продажу та підтримки розширень Віртуальний обліковий запис автора Політика просування оголошень API каталогу розширень Вирішення спорів щодо авторських прав Корисна інформація Публічна оферта Політика повернень Політика конфіденційності Платіжна політика Політика передачі особистих даних Політика прозорості Останні розширення Deals – адаптивный универсальный шаблон Автор: octemplates Динамичесткая инфострока в шапке + позиция в макете для opencart\ocstore 2x, 3x Автор: Lito911 Единицы Измерения Товара Автор: RoS Opencart Product Search by Image Автор: slavoglo Простой массовый редактор цен. Fast Price Edit Автор: Sha × Уже зарегистрированы? Войти Регистрация Раздел покупок Назад Приобретенные дополнения Ваши счета Список желаний Альтернативные контакты Форум Новости ocStore Назад Официальный сайт Демо ocStore 3.0.3.2 Демо ocStore 2.3.0.2.4 Скачать ocStore Документация История версий ocStore Блоги Модули Шаблоны Назад Бесплатные шаблоны Платные шаблоны Где покупать модули? Услуги FAQ OpenCart.Pro Назад Демо Купить Сравнение × Создать... Важная информация На нашем сайте используются файлы cookie и происходит обработка некоторых персональных данных пользователей, чтобы улучшить пользовательский интерфейс. Чтобы узнать для чего и какие персональные данные мы обрабатываем перейдите по ссылке. Если Вы нажмете «Я даю согласие», это означает, что Вы понимаете и принимаете все условия, указанные в этом Уведомлении о Конфиденциальности. Я принимаю
i3bepb Опубликовано: 25 декабря 2019 Поделиться Опубликовано: 25 декабря 2019 10 часов назад, anboza сказал: ну так в том и соль, что триггер должен сработать не просто "в момент", а по состоянию на момент Ну можно придумать такой алгоритм. Создать триггер на select из этой таблицы. Делаем хранилище для метки, которая помогает определять добавлять +3 или нет, например еще таблицу. В триггере такой примерно алгоритм - смотреть текущее время и сравниваем ее с меткой, в метке может быть текущее время с прошлого добавления +3, делаем вывод надо ли добавлять +3 или нет, если надо, то добавляем и обновляем метку, если нет, то ничего не делаем. Но я бы так не делал. Лучше в коде php обложить select-ы из той таблицы проверкой по аналогичному алгоритму, это будет легче поддерживать. Ссылка на комментарий Поделиться на других сайтах Больше способов поделиться...
chukcha Опубликовано: 25 декабря 2019 Поделиться Опубликовано: 25 декабря 2019 3 часа назад, i3bepb сказал: Создать триггер на select из этой таблицы. расскажите - как Ссылка на комментарий Поделиться на других сайтах Больше способов поделиться... anboza Опубликовано: 25 декабря 2019 Автор Поделиться Опубликовано: 25 декабря 2019 3 часа назад, nikifalex сказал: пока нет понимания, для чего это надо вопрошающему, все потуги как то решить проблему, тщетны. я в первом посте описал задачу. она именно так и выглядит. результат этого состояния счетчика, просто будет выводиться на фронте, в блоке типа "наш сервис посетило" столько-то людей. Ссылка на комментарий Поделиться на других сайтах Больше способов поделиться... anboza Опубликовано: 25 декабря 2019 Автор Поделиться Опубликовано: 25 декабря 2019 4 часа назад, i3bepb сказал: Создать триггер на select из этой таблицы. ну как бы вариант, но уж больно он громоздкий. Ну и не факт, что обращение будет каждый день. Соответственно нужно не просто проверять дату обновления, но и вычислять разность и потом умножать накол-во пропущенных дней... Я же ищу вариант решения, чтобы задача выполнялась просто на сервере. Каждый день, вне зависимости от селектов и апдейтов каких-либо данных... Но сдается мне, что это не про mysql, судя по обсуждению... Ссылка на комментарий Поделиться на других сайтах Больше способов поделиться... chukcha Опубликовано: 25 декабря 2019 Поделиться Опубликовано: 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. Что здесь не так? Ссылка на комментарий Поделиться на других сайтах Больше способов поделиться... i3bepb Опубликовано: 25 декабря 2019 Поделиться Опубликовано: 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. Ссылка на комментарий Поделиться на других сайтах Больше способов поделиться... i3bepb Опубликовано: 25 декабря 2019 Поделиться Опубликовано: 25 декабря 2019 1 час назад, chukcha сказал: расскажите - как Да Вы правы на select триггер не навешать, но если погуглить, то например предлагается вариант через хранимые процедуры, т.е. вместо select-а на прямую делается процедура, которая будет оберткой и уже в ней алгоритм. Возможно еще какие-то решения найдутся как это сделать. Ссылка на комментарий Поделиться на других сайтах Больше способов поделиться... chukcha Опубликовано: 25 декабря 2019 Поделиться Опубликовано: 25 декабря 2019 Самое простое крон Более менее управляемо, и вычисляемо Таски (евентсы) о них нужно знать, помнить и использовать, но это должно быть в ГДЕ- ТО - Внимание Есть events Ссылка на комментарий Поделиться на других сайтах Больше способов поделиться... anboza Опубликовано: 25 декабря 2019 Автор Поделиться Опубликовано: 25 декабря 2019 Только что, chukcha сказал: Что здесь не так? здесь все так, просто пояснял суть заданного вопроса. Ссылка на комментарий Поделиться на других сайтах Больше способов поделиться... Yoda Опубликовано: 25 декабря 2019 Поделиться Опубликовано: 25 декабря 2019 Я с вас со всех худею дорогая редакция. Откуда столько глупостей в голове? 1. Если падает сервер и не срабатывает sheduled task - надо просто менять сервер. 2. Любые хранимые процедуры, триггеры и таски в базе - в конечном итоге оборачиваются некой головной болью при смене окружения, особенно если используется shared хостинг. 3. Нет принципиальной разницы это cron скрипт php, cron команда mysql или bash скрипт. Это все серверные пережитки и они все обладают одним большим недостатком - при смене окружения, паролей в базу, пользователя базы, про них можно случайно забыть. 4. Если делать совсем дубово в рамках идеи opencart - надо делать какой то шедаллер в виде событий при инициализации генераций страниц с файлом или записью базы содержащими временную метку последнго успешного события. Если вы уверены в своих силах и втом, что вы не забудете перенести кроны - крон. Если знаете как решить потенциальные проблемы с пользователем, от которого работюат триггеры и процедуры - делайте в базе. В том или ином виде задача решается однозначно и малыми костами. Просто кому то удобно за 10 минут скрипт сваять, а кому то в базу пару запросов воткнуть. Единого верного решения здесь быть не может. Следуйте принципу write less do more и будет вам счастье! Ссылка на комментарий Поделиться на других сайтах Больше способов поделиться... Otvet Опубликовано: 25 декабря 2019 Поделиться Опубликовано: 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 Ссылка на комментарий Поделиться на других сайтах Больше способов поделиться... anboza Опубликовано: 25 декабря 2019 Автор Поделиться Опубликовано: 25 декабря 2019 Только что, Otvet сказал: так и не понял, зачем писать в базу? в базу писать для того, чтобы обрабатывать не на клиенте. И в клиента передавать 1 конечное значение, а не передавать значение, плодить переменные и потом все это обрабатывать. Речь об оптимальном решении, с возможностью использовать преимущество наличия БД. Только что, Yoda сказал: Просто кому то удобно за 10 минут скрипт сваять, а кому то в базу пару запросов воткнуть. Единого верного решения здесь быть не может. Для того и обсуждаем на форуме)) В любом случае, я благодарен всем участникам дискуссии, за версии, мысли и предложения ))) Ссылка на комментарий Поделиться на других сайтах Больше способов поделиться... Создайте аккаунт или войдите в него для комментирования Вы должны быть пользователем, чтобы оставить комментарий Создать аккаунт Зарегистрируйтесь для получения аккаунта. Это просто! Зарегистрировать аккаунт Войти Уже зарегистрированы? Войдите здесь. Войти сейчас Поделиться Больше способов поделиться... Подписчики 0 Перейти к списку тем Сейчас на странице 0 пользователей Нет пользователей, просматривающих эту страницу. Последние темы Последние дополнения Последние новости Вся активность Главная Поддержка и ответы на вопросы Помощь программистам и разработчикам Mysql+ trigger Покупцям Оплата розширень фізичними особами Оплата розширень юридичними особами Політика повернень Розробникам Регламент розміщення розширень Регламент продажу та підтримки розширень Віртуальний обліковий запис автора Політика просування оголошень API каталогу розширень Вирішення спорів щодо авторських прав Корисна інформація Публічна оферта Політика повернень Політика конфіденційності Платіжна політика Політика передачі особистих даних Політика прозорості Останні розширення Deals – адаптивный универсальный шаблон Автор: octemplates Динамичесткая инфострока в шапке + позиция в макете для opencart\ocstore 2x, 3x Автор: Lito911 Единицы Измерения Товара Автор: RoS Opencart Product Search by Image Автор: slavoglo Простой массовый редактор цен. Fast Price Edit Автор: Sha × Уже зарегистрированы? Войти Регистрация Раздел покупок Назад Приобретенные дополнения Ваши счета Список желаний Альтернативные контакты Форум Новости ocStore Назад Официальный сайт Демо ocStore 3.0.3.2 Демо ocStore 2.3.0.2.4 Скачать ocStore Документация История версий ocStore Блоги Модули Шаблоны Назад Бесплатные шаблоны Платные шаблоны Где покупать модули? Услуги FAQ OpenCart.Pro Назад Демо Купить Сравнение × Создать... Важная информация На нашем сайте используются файлы cookie и происходит обработка некоторых персональных данных пользователей, чтобы улучшить пользовательский интерфейс. Чтобы узнать для чего и какие персональные данные мы обрабатываем перейдите по ссылке. Если Вы нажмете «Я даю согласие», это означает, что Вы понимаете и принимаете все условия, указанные в этом Уведомлении о Конфиденциальности. Я принимаю
anboza Опубликовано: 25 декабря 2019 Автор Поделиться Опубликовано: 25 декабря 2019 3 часа назад, nikifalex сказал: пока нет понимания, для чего это надо вопрошающему, все потуги как то решить проблему, тщетны. я в первом посте описал задачу. она именно так и выглядит. результат этого состояния счетчика, просто будет выводиться на фронте, в блоке типа "наш сервис посетило" столько-то людей. Ссылка на комментарий Поделиться на других сайтах Больше способов поделиться... anboza Опубликовано: 25 декабря 2019 Автор Поделиться Опубликовано: 25 декабря 2019 4 часа назад, i3bepb сказал: Создать триггер на select из этой таблицы. ну как бы вариант, но уж больно он громоздкий. Ну и не факт, что обращение будет каждый день. Соответственно нужно не просто проверять дату обновления, но и вычислять разность и потом умножать накол-во пропущенных дней... Я же ищу вариант решения, чтобы задача выполнялась просто на сервере. Каждый день, вне зависимости от селектов и апдейтов каких-либо данных... Но сдается мне, что это не про mysql, судя по обсуждению... Ссылка на комментарий Поделиться на других сайтах Больше способов поделиться... chukcha Опубликовано: 25 декабря 2019 Поделиться Опубликовано: 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. Что здесь не так? Ссылка на комментарий Поделиться на других сайтах Больше способов поделиться... i3bepb Опубликовано: 25 декабря 2019 Поделиться Опубликовано: 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. Ссылка на комментарий Поделиться на других сайтах Больше способов поделиться... i3bepb Опубликовано: 25 декабря 2019 Поделиться Опубликовано: 25 декабря 2019 1 час назад, chukcha сказал: расскажите - как Да Вы правы на select триггер не навешать, но если погуглить, то например предлагается вариант через хранимые процедуры, т.е. вместо select-а на прямую делается процедура, которая будет оберткой и уже в ней алгоритм. Возможно еще какие-то решения найдутся как это сделать. Ссылка на комментарий Поделиться на других сайтах Больше способов поделиться... chukcha Опубликовано: 25 декабря 2019 Поделиться Опубликовано: 25 декабря 2019 Самое простое крон Более менее управляемо, и вычисляемо Таски (евентсы) о них нужно знать, помнить и использовать, но это должно быть в ГДЕ- ТО - Внимание Есть events Ссылка на комментарий Поделиться на других сайтах Больше способов поделиться... anboza Опубликовано: 25 декабря 2019 Автор Поделиться Опубликовано: 25 декабря 2019 Только что, chukcha сказал: Что здесь не так? здесь все так, просто пояснял суть заданного вопроса. Ссылка на комментарий Поделиться на других сайтах Больше способов поделиться... Yoda Опубликовано: 25 декабря 2019 Поделиться Опубликовано: 25 декабря 2019 Я с вас со всех худею дорогая редакция. Откуда столько глупостей в голове? 1. Если падает сервер и не срабатывает sheduled task - надо просто менять сервер. 2. Любые хранимые процедуры, триггеры и таски в базе - в конечном итоге оборачиваются некой головной болью при смене окружения, особенно если используется shared хостинг. 3. Нет принципиальной разницы это cron скрипт php, cron команда mysql или bash скрипт. Это все серверные пережитки и они все обладают одним большим недостатком - при смене окружения, паролей в базу, пользователя базы, про них можно случайно забыть. 4. Если делать совсем дубово в рамках идеи opencart - надо делать какой то шедаллер в виде событий при инициализации генераций страниц с файлом или записью базы содержащими временную метку последнго успешного события. Если вы уверены в своих силах и втом, что вы не забудете перенести кроны - крон. Если знаете как решить потенциальные проблемы с пользователем, от которого работюат триггеры и процедуры - делайте в базе. В том или ином виде задача решается однозначно и малыми костами. Просто кому то удобно за 10 минут скрипт сваять, а кому то в базу пару запросов воткнуть. Единого верного решения здесь быть не может. Следуйте принципу write less do more и будет вам счастье! Ссылка на комментарий Поделиться на других сайтах Больше способов поделиться... Otvet Опубликовано: 25 декабря 2019 Поделиться Опубликовано: 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 Ссылка на комментарий Поделиться на других сайтах Больше способов поделиться... anboza Опубликовано: 25 декабря 2019 Автор Поделиться Опубликовано: 25 декабря 2019 Только что, Otvet сказал: так и не понял, зачем писать в базу? в базу писать для того, чтобы обрабатывать не на клиенте. И в клиента передавать 1 конечное значение, а не передавать значение, плодить переменные и потом все это обрабатывать. Речь об оптимальном решении, с возможностью использовать преимущество наличия БД. Только что, Yoda сказал: Просто кому то удобно за 10 минут скрипт сваять, а кому то в базу пару запросов воткнуть. Единого верного решения здесь быть не может. Для того и обсуждаем на форуме)) В любом случае, я благодарен всем участникам дискуссии, за версии, мысли и предложения ))) Ссылка на комментарий Поделиться на других сайтах Больше способов поделиться... Создайте аккаунт или войдите в него для комментирования Вы должны быть пользователем, чтобы оставить комментарий Создать аккаунт Зарегистрируйтесь для получения аккаунта. Это просто! Зарегистрировать аккаунт Войти Уже зарегистрированы? Войдите здесь. Войти сейчас Поделиться Больше способов поделиться... Подписчики 0 Перейти к списку тем Сейчас на странице 0 пользователей Нет пользователей, просматривающих эту страницу. Последние темы Последние дополнения Последние новости Вся активность Главная Поддержка и ответы на вопросы Помощь программистам и разработчикам Mysql+ trigger Покупцям Оплата розширень фізичними особами Оплата розширень юридичними особами Політика повернень Розробникам Регламент розміщення розширень Регламент продажу та підтримки розширень Віртуальний обліковий запис автора Політика просування оголошень API каталогу розширень Вирішення спорів щодо авторських прав Корисна інформація Публічна оферта Політика повернень Політика конфіденційності Платіжна політика Політика передачі особистих даних Політика прозорості Останні розширення Deals – адаптивный универсальный шаблон Автор: octemplates Динамичесткая инфострока в шапке + позиция в макете для opencart\ocstore 2x, 3x Автор: Lito911 Единицы Измерения Товара Автор: RoS Opencart Product Search by Image Автор: slavoglo Простой массовый редактор цен. Fast Price Edit Автор: Sha × Уже зарегистрированы? Войти Регистрация Раздел покупок Назад Приобретенные дополнения Ваши счета Список желаний Альтернативные контакты Форум Новости ocStore Назад Официальный сайт Демо ocStore 3.0.3.2 Демо ocStore 2.3.0.2.4 Скачать ocStore Документация История версий ocStore Блоги Модули Шаблоны Назад Бесплатные шаблоны Платные шаблоны Где покупать модули? Услуги FAQ OpenCart.Pro Назад Демо Купить Сравнение × Создать... Важная информация На нашем сайте используются файлы cookie и происходит обработка некоторых персональных данных пользователей, чтобы улучшить пользовательский интерфейс. Чтобы узнать для чего и какие персональные данные мы обрабатываем перейдите по ссылке. Если Вы нажмете «Я даю согласие», это означает, что Вы понимаете и принимаете все условия, указанные в этом Уведомлении о Конфиденциальности. Я принимаю
anboza Опубликовано: 25 декабря 2019 Автор Поделиться Опубликовано: 25 декабря 2019 4 часа назад, i3bepb сказал: Создать триггер на select из этой таблицы. ну как бы вариант, но уж больно он громоздкий. Ну и не факт, что обращение будет каждый день. Соответственно нужно не просто проверять дату обновления, но и вычислять разность и потом умножать накол-во пропущенных дней... Я же ищу вариант решения, чтобы задача выполнялась просто на сервере. Каждый день, вне зависимости от селектов и апдейтов каких-либо данных... Но сдается мне, что это не про mysql, судя по обсуждению... Ссылка на комментарий Поделиться на других сайтах Больше способов поделиться... chukcha Опубликовано: 25 декабря 2019 Поделиться Опубликовано: 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. Что здесь не так? Ссылка на комментарий Поделиться на других сайтах Больше способов поделиться... i3bepb Опубликовано: 25 декабря 2019 Поделиться Опубликовано: 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. Ссылка на комментарий Поделиться на других сайтах Больше способов поделиться... i3bepb Опубликовано: 25 декабря 2019 Поделиться Опубликовано: 25 декабря 2019 1 час назад, chukcha сказал: расскажите - как Да Вы правы на select триггер не навешать, но если погуглить, то например предлагается вариант через хранимые процедуры, т.е. вместо select-а на прямую делается процедура, которая будет оберткой и уже в ней алгоритм. Возможно еще какие-то решения найдутся как это сделать. Ссылка на комментарий Поделиться на других сайтах Больше способов поделиться... chukcha Опубликовано: 25 декабря 2019 Поделиться Опубликовано: 25 декабря 2019 Самое простое крон Более менее управляемо, и вычисляемо Таски (евентсы) о них нужно знать, помнить и использовать, но это должно быть в ГДЕ- ТО - Внимание Есть events Ссылка на комментарий Поделиться на других сайтах Больше способов поделиться... anboza Опубликовано: 25 декабря 2019 Автор Поделиться Опубликовано: 25 декабря 2019 Только что, chukcha сказал: Что здесь не так? здесь все так, просто пояснял суть заданного вопроса. Ссылка на комментарий Поделиться на других сайтах Больше способов поделиться... Yoda Опубликовано: 25 декабря 2019 Поделиться Опубликовано: 25 декабря 2019 Я с вас со всех худею дорогая редакция. Откуда столько глупостей в голове? 1. Если падает сервер и не срабатывает sheduled task - надо просто менять сервер. 2. Любые хранимые процедуры, триггеры и таски в базе - в конечном итоге оборачиваются некой головной болью при смене окружения, особенно если используется shared хостинг. 3. Нет принципиальной разницы это cron скрипт php, cron команда mysql или bash скрипт. Это все серверные пережитки и они все обладают одним большим недостатком - при смене окружения, паролей в базу, пользователя базы, про них можно случайно забыть. 4. Если делать совсем дубово в рамках идеи opencart - надо делать какой то шедаллер в виде событий при инициализации генераций страниц с файлом или записью базы содержащими временную метку последнго успешного события. Если вы уверены в своих силах и втом, что вы не забудете перенести кроны - крон. Если знаете как решить потенциальные проблемы с пользователем, от которого работюат триггеры и процедуры - делайте в базе. В том или ином виде задача решается однозначно и малыми костами. Просто кому то удобно за 10 минут скрипт сваять, а кому то в базу пару запросов воткнуть. Единого верного решения здесь быть не может. Следуйте принципу write less do more и будет вам счастье! Ссылка на комментарий Поделиться на других сайтах Больше способов поделиться... Otvet Опубликовано: 25 декабря 2019 Поделиться Опубликовано: 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 Ссылка на комментарий Поделиться на других сайтах Больше способов поделиться... anboza Опубликовано: 25 декабря 2019 Автор Поделиться Опубликовано: 25 декабря 2019 Только что, Otvet сказал: так и не понял, зачем писать в базу? в базу писать для того, чтобы обрабатывать не на клиенте. И в клиента передавать 1 конечное значение, а не передавать значение, плодить переменные и потом все это обрабатывать. Речь об оптимальном решении, с возможностью использовать преимущество наличия БД. Только что, Yoda сказал: Просто кому то удобно за 10 минут скрипт сваять, а кому то в базу пару запросов воткнуть. Единого верного решения здесь быть не может. Для того и обсуждаем на форуме)) В любом случае, я благодарен всем участникам дискуссии, за версии, мысли и предложения ))) Ссылка на комментарий Поделиться на других сайтах Больше способов поделиться... Создайте аккаунт или войдите в него для комментирования Вы должны быть пользователем, чтобы оставить комментарий Создать аккаунт Зарегистрируйтесь для получения аккаунта. Это просто! Зарегистрировать аккаунт Войти Уже зарегистрированы? Войдите здесь. Войти сейчас Поделиться Больше способов поделиться... Подписчики 0 Перейти к списку тем Сейчас на странице 0 пользователей Нет пользователей, просматривающих эту страницу. Последние темы Последние дополнения Последние новости Вся активность Главная Поддержка и ответы на вопросы Помощь программистам и разработчикам Mysql+ trigger Покупцям Оплата розширень фізичними особами Оплата розширень юридичними особами Політика повернень Розробникам Регламент розміщення розширень Регламент продажу та підтримки розширень Віртуальний обліковий запис автора Політика просування оголошень API каталогу розширень Вирішення спорів щодо авторських прав Корисна інформація Публічна оферта Політика повернень Політика конфіденційності Платіжна політика Політика передачі особистих даних Політика прозорості Останні розширення Deals – адаптивный универсальный шаблон Автор: octemplates Динамичесткая инфострока в шапке + позиция в макете для opencart\ocstore 2x, 3x Автор: Lito911 Единицы Измерения Товара Автор: RoS Opencart Product Search by Image Автор: slavoglo Простой массовый редактор цен. Fast Price Edit Автор: Sha × Уже зарегистрированы? Войти Регистрация Раздел покупок Назад Приобретенные дополнения Ваши счета Список желаний Альтернативные контакты Форум Новости ocStore Назад Официальный сайт Демо ocStore 3.0.3.2 Демо ocStore 2.3.0.2.4 Скачать ocStore Документация История версий ocStore Блоги Модули Шаблоны Назад Бесплатные шаблоны Платные шаблоны Где покупать модули? Услуги FAQ OpenCart.Pro Назад Демо Купить Сравнение × Создать... Важная информация На нашем сайте используются файлы cookie и происходит обработка некоторых персональных данных пользователей, чтобы улучшить пользовательский интерфейс. Чтобы узнать для чего и какие персональные данные мы обрабатываем перейдите по ссылке. Если Вы нажмете «Я даю согласие», это означает, что Вы понимаете и принимаете все условия, указанные в этом Уведомлении о Конфиденциальности. Я принимаю
chukcha Опубликовано: 25 декабря 2019 Поделиться Опубликовано: 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. Что здесь не так? Ссылка на комментарий Поделиться на других сайтах Больше способов поделиться... i3bepb Опубликовано: 25 декабря 2019 Поделиться Опубликовано: 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. Ссылка на комментарий Поделиться на других сайтах Больше способов поделиться... i3bepb Опубликовано: 25 декабря 2019 Поделиться Опубликовано: 25 декабря 2019 1 час назад, chukcha сказал: расскажите - как Да Вы правы на select триггер не навешать, но если погуглить, то например предлагается вариант через хранимые процедуры, т.е. вместо select-а на прямую делается процедура, которая будет оберткой и уже в ней алгоритм. Возможно еще какие-то решения найдутся как это сделать. Ссылка на комментарий Поделиться на других сайтах Больше способов поделиться... chukcha Опубликовано: 25 декабря 2019 Поделиться Опубликовано: 25 декабря 2019 Самое простое крон Более менее управляемо, и вычисляемо Таски (евентсы) о них нужно знать, помнить и использовать, но это должно быть в ГДЕ- ТО - Внимание Есть events Ссылка на комментарий Поделиться на других сайтах Больше способов поделиться... anboza Опубликовано: 25 декабря 2019 Автор Поделиться Опубликовано: 25 декабря 2019 Только что, chukcha сказал: Что здесь не так? здесь все так, просто пояснял суть заданного вопроса. Ссылка на комментарий Поделиться на других сайтах Больше способов поделиться... Yoda Опубликовано: 25 декабря 2019 Поделиться Опубликовано: 25 декабря 2019 Я с вас со всех худею дорогая редакция. Откуда столько глупостей в голове? 1. Если падает сервер и не срабатывает sheduled task - надо просто менять сервер. 2. Любые хранимые процедуры, триггеры и таски в базе - в конечном итоге оборачиваются некой головной болью при смене окружения, особенно если используется shared хостинг. 3. Нет принципиальной разницы это cron скрипт php, cron команда mysql или bash скрипт. Это все серверные пережитки и они все обладают одним большим недостатком - при смене окружения, паролей в базу, пользователя базы, про них можно случайно забыть. 4. Если делать совсем дубово в рамках идеи opencart - надо делать какой то шедаллер в виде событий при инициализации генераций страниц с файлом или записью базы содержащими временную метку последнго успешного события. Если вы уверены в своих силах и втом, что вы не забудете перенести кроны - крон. Если знаете как решить потенциальные проблемы с пользователем, от которого работюат триггеры и процедуры - делайте в базе. В том или ином виде задача решается однозначно и малыми костами. Просто кому то удобно за 10 минут скрипт сваять, а кому то в базу пару запросов воткнуть. Единого верного решения здесь быть не может. Следуйте принципу write less do more и будет вам счастье! Ссылка на комментарий Поделиться на других сайтах Больше способов поделиться... Otvet Опубликовано: 25 декабря 2019 Поделиться Опубликовано: 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 Ссылка на комментарий Поделиться на других сайтах Больше способов поделиться... anboza Опубликовано: 25 декабря 2019 Автор Поделиться Опубликовано: 25 декабря 2019 Только что, Otvet сказал: так и не понял, зачем писать в базу? в базу писать для того, чтобы обрабатывать не на клиенте. И в клиента передавать 1 конечное значение, а не передавать значение, плодить переменные и потом все это обрабатывать. Речь об оптимальном решении, с возможностью использовать преимущество наличия БД. Только что, Yoda сказал: Просто кому то удобно за 10 минут скрипт сваять, а кому то в базу пару запросов воткнуть. Единого верного решения здесь быть не может. Для того и обсуждаем на форуме)) В любом случае, я благодарен всем участникам дискуссии, за версии, мысли и предложения ))) Ссылка на комментарий Поделиться на других сайтах Больше способов поделиться... Создайте аккаунт или войдите в него для комментирования Вы должны быть пользователем, чтобы оставить комментарий Создать аккаунт Зарегистрируйтесь для получения аккаунта. Это просто! Зарегистрировать аккаунт Войти Уже зарегистрированы? Войдите здесь. Войти сейчас Поделиться Больше способов поделиться... Подписчики 0 Перейти к списку тем Сейчас на странице 0 пользователей Нет пользователей, просматривающих эту страницу. Последние темы Последние дополнения Последние новости Вся активность Главная Поддержка и ответы на вопросы Помощь программистам и разработчикам Mysql+ trigger Покупцям Оплата розширень фізичними особами Оплата розширень юридичними особами Політика повернень Розробникам Регламент розміщення розширень Регламент продажу та підтримки розширень Віртуальний обліковий запис автора Політика просування оголошень API каталогу розширень Вирішення спорів щодо авторських прав Корисна інформація Публічна оферта Політика повернень Політика конфіденційності Платіжна політика Політика передачі особистих даних Політика прозорості Останні розширення Deals – адаптивный универсальный шаблон Автор: octemplates Динамичесткая инфострока в шапке + позиция в макете для opencart\ocstore 2x, 3x Автор: Lito911 Единицы Измерения Товара Автор: RoS Opencart Product Search by Image Автор: slavoglo Простой массовый редактор цен. Fast Price Edit Автор: Sha × Уже зарегистрированы? Войти Регистрация Раздел покупок Назад Приобретенные дополнения Ваши счета Список желаний Альтернативные контакты Форум Новости ocStore Назад Официальный сайт Демо ocStore 3.0.3.2 Демо ocStore 2.3.0.2.4 Скачать ocStore Документация История версий ocStore Блоги Модули Шаблоны Назад Бесплатные шаблоны Платные шаблоны Где покупать модули? Услуги FAQ OpenCart.Pro Назад Демо Купить Сравнение × Создать... Важная информация На нашем сайте используются файлы cookie и происходит обработка некоторых персональных данных пользователей, чтобы улучшить пользовательский интерфейс. Чтобы узнать для чего и какие персональные данные мы обрабатываем перейдите по ссылке. Если Вы нажмете «Я даю согласие», это означает, что Вы понимаете и принимаете все условия, указанные в этом Уведомлении о Конфиденциальности. Я принимаю
i3bepb Опубликовано: 25 декабря 2019 Поделиться Опубликовано: 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. Ссылка на комментарий Поделиться на других сайтах Больше способов поделиться...
i3bepb Опубликовано: 25 декабря 2019 Поделиться Опубликовано: 25 декабря 2019 1 час назад, chukcha сказал: расскажите - как Да Вы правы на select триггер не навешать, но если погуглить, то например предлагается вариант через хранимые процедуры, т.е. вместо select-а на прямую делается процедура, которая будет оберткой и уже в ней алгоритм. Возможно еще какие-то решения найдутся как это сделать. Ссылка на комментарий Поделиться на других сайтах Больше способов поделиться...
chukcha Опубликовано: 25 декабря 2019 Поделиться Опубликовано: 25 декабря 2019 Самое простое крон Более менее управляемо, и вычисляемо Таски (евентсы) о них нужно знать, помнить и использовать, но это должно быть в ГДЕ- ТО - Внимание Есть events Ссылка на комментарий Поделиться на других сайтах Больше способов поделиться... anboza Опубликовано: 25 декабря 2019 Автор Поделиться Опубликовано: 25 декабря 2019 Только что, chukcha сказал: Что здесь не так? здесь все так, просто пояснял суть заданного вопроса. Ссылка на комментарий Поделиться на других сайтах Больше способов поделиться... Yoda Опубликовано: 25 декабря 2019 Поделиться Опубликовано: 25 декабря 2019 Я с вас со всех худею дорогая редакция. Откуда столько глупостей в голове? 1. Если падает сервер и не срабатывает sheduled task - надо просто менять сервер. 2. Любые хранимые процедуры, триггеры и таски в базе - в конечном итоге оборачиваются некой головной болью при смене окружения, особенно если используется shared хостинг. 3. Нет принципиальной разницы это cron скрипт php, cron команда mysql или bash скрипт. Это все серверные пережитки и они все обладают одним большим недостатком - при смене окружения, паролей в базу, пользователя базы, про них можно случайно забыть. 4. Если делать совсем дубово в рамках идеи opencart - надо делать какой то шедаллер в виде событий при инициализации генераций страниц с файлом или записью базы содержащими временную метку последнго успешного события. Если вы уверены в своих силах и втом, что вы не забудете перенести кроны - крон. Если знаете как решить потенциальные проблемы с пользователем, от которого работюат триггеры и процедуры - делайте в базе. В том или ином виде задача решается однозначно и малыми костами. Просто кому то удобно за 10 минут скрипт сваять, а кому то в базу пару запросов воткнуть. Единого верного решения здесь быть не может. Следуйте принципу write less do more и будет вам счастье! Ссылка на комментарий Поделиться на других сайтах Больше способов поделиться... Otvet Опубликовано: 25 декабря 2019 Поделиться Опубликовано: 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 Ссылка на комментарий Поделиться на других сайтах Больше способов поделиться... anboza Опубликовано: 25 декабря 2019 Автор Поделиться Опубликовано: 25 декабря 2019 Только что, Otvet сказал: так и не понял, зачем писать в базу? в базу писать для того, чтобы обрабатывать не на клиенте. И в клиента передавать 1 конечное значение, а не передавать значение, плодить переменные и потом все это обрабатывать. Речь об оптимальном решении, с возможностью использовать преимущество наличия БД. Только что, Yoda сказал: Просто кому то удобно за 10 минут скрипт сваять, а кому то в базу пару запросов воткнуть. Единого верного решения здесь быть не может. Для того и обсуждаем на форуме)) В любом случае, я благодарен всем участникам дискуссии, за версии, мысли и предложения ))) Ссылка на комментарий Поделиться на других сайтах Больше способов поделиться... Создайте аккаунт или войдите в него для комментирования Вы должны быть пользователем, чтобы оставить комментарий Создать аккаунт Зарегистрируйтесь для получения аккаунта. Это просто! Зарегистрировать аккаунт Войти Уже зарегистрированы? Войдите здесь. Войти сейчас Поделиться Больше способов поделиться... Подписчики 0 Перейти к списку тем Сейчас на странице 0 пользователей Нет пользователей, просматривающих эту страницу. Последние темы Последние дополнения Последние новости Вся активность Главная Поддержка и ответы на вопросы Помощь программистам и разработчикам Mysql+ trigger Покупцям Оплата розширень фізичними особами Оплата розширень юридичними особами Політика повернень Розробникам Регламент розміщення розширень Регламент продажу та підтримки розширень Віртуальний обліковий запис автора Політика просування оголошень API каталогу розширень Вирішення спорів щодо авторських прав Корисна інформація Публічна оферта Політика повернень Політика конфіденційності Платіжна політика Політика передачі особистих даних Політика прозорості Останні розширення Deals – адаптивный универсальный шаблон Автор: octemplates Динамичесткая инфострока в шапке + позиция в макете для opencart\ocstore 2x, 3x Автор: Lito911 Единицы Измерения Товара Автор: RoS Opencart Product Search by Image Автор: slavoglo Простой массовый редактор цен. Fast Price Edit Автор: Sha
anboza Опубликовано: 25 декабря 2019 Автор Поделиться Опубликовано: 25 декабря 2019 Только что, chukcha сказал: Что здесь не так? здесь все так, просто пояснял суть заданного вопроса. Ссылка на комментарий Поделиться на других сайтах Больше способов поделиться... Yoda Опубликовано: 25 декабря 2019 Поделиться Опубликовано: 25 декабря 2019 Я с вас со всех худею дорогая редакция. Откуда столько глупостей в голове? 1. Если падает сервер и не срабатывает sheduled task - надо просто менять сервер. 2. Любые хранимые процедуры, триггеры и таски в базе - в конечном итоге оборачиваются некой головной болью при смене окружения, особенно если используется shared хостинг. 3. Нет принципиальной разницы это cron скрипт php, cron команда mysql или bash скрипт. Это все серверные пережитки и они все обладают одним большим недостатком - при смене окружения, паролей в базу, пользователя базы, про них можно случайно забыть. 4. Если делать совсем дубово в рамках идеи opencart - надо делать какой то шедаллер в виде событий при инициализации генераций страниц с файлом или записью базы содержащими временную метку последнго успешного события. Если вы уверены в своих силах и втом, что вы не забудете перенести кроны - крон. Если знаете как решить потенциальные проблемы с пользователем, от которого работюат триггеры и процедуры - делайте в базе. В том или ином виде задача решается однозначно и малыми костами. Просто кому то удобно за 10 минут скрипт сваять, а кому то в базу пару запросов воткнуть. Единого верного решения здесь быть не может. Следуйте принципу write less do more и будет вам счастье! Ссылка на комментарий Поделиться на других сайтах Больше способов поделиться... Otvet Опубликовано: 25 декабря 2019 Поделиться Опубликовано: 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 Ссылка на комментарий Поделиться на других сайтах Больше способов поделиться... anboza Опубликовано: 25 декабря 2019 Автор Поделиться Опубликовано: 25 декабря 2019 Только что, Otvet сказал: так и не понял, зачем писать в базу? в базу писать для того, чтобы обрабатывать не на клиенте. И в клиента передавать 1 конечное значение, а не передавать значение, плодить переменные и потом все это обрабатывать. Речь об оптимальном решении, с возможностью использовать преимущество наличия БД. Только что, Yoda сказал: Просто кому то удобно за 10 минут скрипт сваять, а кому то в базу пару запросов воткнуть. Единого верного решения здесь быть не может. Для того и обсуждаем на форуме)) В любом случае, я благодарен всем участникам дискуссии, за версии, мысли и предложения ))) Ссылка на комментарий Поделиться на других сайтах Больше способов поделиться... Создайте аккаунт или войдите в него для комментирования Вы должны быть пользователем, чтобы оставить комментарий Создать аккаунт Зарегистрируйтесь для получения аккаунта. Это просто! Зарегистрировать аккаунт Войти Уже зарегистрированы? Войдите здесь. Войти сейчас Поделиться Больше способов поделиться... Подписчики 0 Перейти к списку тем Сейчас на странице 0 пользователей Нет пользователей, просматривающих эту страницу. Последние темы Последние дополнения Последние новости Вся активность Главная Поддержка и ответы на вопросы Помощь программистам и разработчикам Mysql+ trigger
Yoda Опубликовано: 25 декабря 2019 Поделиться Опубликовано: 25 декабря 2019 Я с вас со всех худею дорогая редакция. Откуда столько глупостей в голове? 1. Если падает сервер и не срабатывает sheduled task - надо просто менять сервер. 2. Любые хранимые процедуры, триггеры и таски в базе - в конечном итоге оборачиваются некой головной болью при смене окружения, особенно если используется shared хостинг. 3. Нет принципиальной разницы это cron скрипт php, cron команда mysql или bash скрипт. Это все серверные пережитки и они все обладают одним большим недостатком - при смене окружения, паролей в базу, пользователя базы, про них можно случайно забыть. 4. Если делать совсем дубово в рамках идеи opencart - надо делать какой то шедаллер в виде событий при инициализации генераций страниц с файлом или записью базы содержащими временную метку последнго успешного события. Если вы уверены в своих силах и втом, что вы не забудете перенести кроны - крон. Если знаете как решить потенциальные проблемы с пользователем, от которого работюат триггеры и процедуры - делайте в базе. В том или ином виде задача решается однозначно и малыми костами. Просто кому то удобно за 10 минут скрипт сваять, а кому то в базу пару запросов воткнуть. Единого верного решения здесь быть не может. Следуйте принципу write less do more и будет вам счастье! Ссылка на комментарий Поделиться на других сайтах Больше способов поделиться...
Otvet Опубликовано: 25 декабря 2019 Поделиться Опубликовано: 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 Ссылка на комментарий Поделиться на других сайтах Больше способов поделиться... anboza Опубликовано: 25 декабря 2019 Автор Поделиться Опубликовано: 25 декабря 2019 Только что, Otvet сказал: так и не понял, зачем писать в базу? в базу писать для того, чтобы обрабатывать не на клиенте. И в клиента передавать 1 конечное значение, а не передавать значение, плодить переменные и потом все это обрабатывать. Речь об оптимальном решении, с возможностью использовать преимущество наличия БД. Только что, Yoda сказал: Просто кому то удобно за 10 минут скрипт сваять, а кому то в базу пару запросов воткнуть. Единого верного решения здесь быть не может. Для того и обсуждаем на форуме)) В любом случае, я благодарен всем участникам дискуссии, за версии, мысли и предложения ))) Ссылка на комментарий Поделиться на других сайтах Больше способов поделиться... Создайте аккаунт или войдите в него для комментирования Вы должны быть пользователем, чтобы оставить комментарий Создать аккаунт Зарегистрируйтесь для получения аккаунта. Это просто! Зарегистрировать аккаунт Войти Уже зарегистрированы? Войдите здесь. Войти сейчас Поделиться Больше способов поделиться... Подписчики 0 Перейти к списку тем Сейчас на странице 0 пользователей Нет пользователей, просматривающих эту страницу.
anboza Опубликовано: 25 декабря 2019 Автор Поделиться Опубликовано: 25 декабря 2019 Только что, Otvet сказал: так и не понял, зачем писать в базу? в базу писать для того, чтобы обрабатывать не на клиенте. И в клиента передавать 1 конечное значение, а не передавать значение, плодить переменные и потом все это обрабатывать. Речь об оптимальном решении, с возможностью использовать преимущество наличия БД. Только что, Yoda сказал: Просто кому то удобно за 10 минут скрипт сваять, а кому то в базу пару запросов воткнуть. Единого верного решения здесь быть не может. Для того и обсуждаем на форуме)) В любом случае, я благодарен всем участникам дискуссии, за версии, мысли и предложения ))) Ссылка на комментарий Поделиться на других сайтах Больше способов поделиться... Создайте аккаунт или войдите в него для комментирования Вы должны быть пользователем, чтобы оставить комментарий Создать аккаунт Зарегистрируйтесь для получения аккаунта. Это просто! Зарегистрировать аккаунт Войти Уже зарегистрированы? Войдите здесь. Войти сейчас Поделиться Больше способов поделиться... Подписчики 0
Рекомендованные сообщения