В БД есть таблица с колонками: скидка, дата начала, дата окончания. Необходимо чтобы при наступлении времени начала, поле скидка устанавливалось в конкретное значение, а при наступлении окончания поле скидка обнулялось.
Проверять при SELECT возможности нет:
1) Сайт к БД уже готов и редактировать его невозможно
2) Триггеров для SELECT нет
Cron не подходит т.к. дата начала и дата окончания могут содержать конкретное время => проверять каждый день не вариант.
Еще есть планировщик mysql, но хороший ли это вариант и не будет ли проблем из за большого кол-ва установленных событий?
у вас очень странный сайт...
чет не понятно, если сайт уже написан(неправильно) то вносить изменения в код запрещает политика партии или божественное провидение?
Вообще по вашему описанию не очень понятна структура ваших скидок и к чему они относятся. Но дописать два условия (на попадание текущей даты в диапазон начало-конец скидок и на наличие значения в поле скидка) обычно дело 20 минут.
ThunderCat, сайт писал не я, и доступа к нему нет, только к базе. Передо мной стоит задача написать приложение к этой базе и расширить функционал(добавив возможность указывать временной промежуток скидки), не сломав при этом работу сайта. Скидка(На самом деле цена со скидкой) прописывается прямо в товаре, и сайт следует логике: если >0 то показать скидку, иначе скидки нет.
Сергей Шиловский, ок, уже ясно что писал не совсем гений, другой вопрос - откуда берутся данные для "магии" появления значения скидки?
Cron не подходит т.к. дата начала и дата окончания могут содержать конкретное время => проверять каждый день не вариант.
Крон ащето может каждую минуту запускаться. Хотя, думаю даже в вашем особо извращенном случае можно раз в час/полчаса/10 минут запускать, в зависимости от "дробности времени".
Честно говоря я бы послал заказчика с такими требованиями, если он отказывается дать доступ к коду. Либо, если возможно, надавил на исполнителя что бы сделал как надо. Костыли типа скриптов по крону(которые обычно не нужны в таком простом случае) - крайняя мера, когда бизнес процессы "горят", довериться некому и знаний и денег на исправление ноль.
ThunderCat, спасибо, буду тогда копать в направлении получения доступа к сайту.
Крон ащето может каждую минуту запускаться.
Cron то может, но разве это не большее извращение, дергать скрипт каждую минуту?
И что насчет планировщика самой mysql? Там ведь можно задать конкретное время для события
Cron то может, но разве это не большее извращение, дергать скрипт каждую минуту?
я написал же
можно раз в час/полчаса/10 минут запускать, в зависимости от "дробности времени".
И что насчет планировщика самой mysql?
По моему опыту настраивать/переносить проще серверные скрипты, нежели бдшные триггеры/процедуры, кроме того в скрипте гораздо проще реализовать логику, которую в случае работы чистым эскюэлем реализовать сложно/невозможно.
Дмитрий Кузнецов, сайт то сделан правильно и такой возможности просто не предполагал, а сейчас просто потребовалось отдельное приложение с расширенным функционалом и желательно при расширении функционала не сломать сайт