【问题标题】:How to trigger a change in a PHP server from a date in a SQL db如何从 SQL 数据库中的日期触发 PHP 服务器中的更改
【发布时间】:2016-10-06 16:13:49
【问题描述】:

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

【问题讨论】:

  • 为什么不在产品记录中加入日期并修改搜索以仅显示 ACTIVE 产品

标签: php mysql magento magento2


【解决方案1】:

对于 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 作为视图名称。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2016-09-02
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2022-01-05
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多