Возможно-ли временно сделать запись в базу данных не используя cron?

Здравствуйте. Сейчас встал такой вопрос:
Возможно-ли как-то на уровне PHP или jquery (даже представить не могу как реализовать) сделать временное добавление или-же обновление строки в базе данных?

Т.е. например есть таблица products, в ней есть строка со столбцом ID равным 3, в этой строке есть столбец "action". В движке (php, smarty) я меня это значение с 0 на 1 и наоборот. Вопрос стоит вот в чем: можно-ли как-то задать столбцу action значение 1 на определенный срок, например на 2 часа, при этом не используя cron?
  • Вопрос задан
  • 83 просмотра
Решения вопроса 1
AK-VoronM
@AK-VoronM
"Мало-мало программист"
Можно хранить в поле метку UNIX time stamp. И при выборке из бд учитывать это значение.
SELECT * FROM products WHERE uts < :uts
Где :uts = time() - 7200, те самые 2 часа.

Тогда можно обойтись без CRON и планировщика MySQL, но придется заплатить дополнительным int полем в таблице.

Или можно добавить еще одну таблицу, в которой будет 2 поля: id товара и UNIX time stamp. Тогда в запрос нужно будет добавить JOIN.
SELECT p.* FROM products as p 
LEFT JOIN rel_table as rt
ON rt.id = p.id 
WHERE rt.uts IS NOT NULL AND rt.uts < :uts

Такой подход несколько более гибок.
Ответ написан
Пригласить эксперта
Ответы на вопрос 2
SagePtr
@SagePtr
Еда - это святое
В MySQL есть встроенный планировщик, но его нужно включить в конфиге
Ответ написан
Комментировать
@402d
начинал с бейсика на УКНЦ в 1988
Акционные скидки на несколько часов? Дата время в этом поле. Если оно больше текущего скидка доступна
Ответ написан
Комментировать
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Войти через центр авторизации
Похожие вопросы