php - 如何根据 SQL 数据库中的日期触发 PHP 服务器中的更改

标签 php mysql magento magento2

我有一个电子商务网站(基于 magento2),其中的产品需要在特定日期之间提供。我已将特定的开始和结束日期保存在 mysql 数据库中,但现在需要在到达时间时触发产品的启用/禁用。如何在两者之间建立实时链接,而不设置每秒运行一次以编辑状态的 cron 作业?

最佳答案

对于 MySQL 问题,“我每秒都需要一个 CRON”意味着您实际上需要一个 VIEW(或者对于最严重的情况,最终需要一个 TRIGGER)。

假设您有 product.startDateproduct.endDate 列,以及 product.isEnabled。 然后创建以下VIEW:

CREATE VIEW `productView` AS SELECT 
    startDate AS startDate,
    endDate AS endDate, 
    (isEnabled AND NOW() BETWEEN startDate AND endDate) AS isEnabled
FROM product

并在代码中使用此VIEW(SELECT p.isEnaled FROM ProductView)。如果您无法使用代码更新 PHP,只需重命名表(对于 productTable)并使用 product 作为 View 的名称。

关于php - 如何根据 SQL 数据库中的日期触发 PHP 服务器中的更改,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/39900945/

相关文章:

php - 页面加载时JQuery触发事件

php - 哪些 php 框架支持数据库迁移?

php - W3 Total Cache - 允许编辑者从缓存中清除单个帖子

mysql - 无法加入 mysql 删除查询工作

html - Magento - 顶部导航的垂直菜单

php - 关于 PHP 和 Magento 验证的一般 MVC 问题

php - 如何使用函数从 mysql 中提取多行

html - 在mysql中获取总数和组数

mysql - 与同一列 MySQL 的时差

iphone - 适用于 iOS SDK 的 Magento oauth api