【问题标题】:Programming logic - update the database only one time after specific time interval编程逻辑 - 在特定时间间隔后仅更新一次数据库
【发布时间】:2014-12-08 08:54:46
【问题描述】:

我正在用 php 开发电子商务商店,但在创建逻辑时遇到了一些问题。问题是我有一个商店页面,我在其中展示一些产品。所有产品都有一定的时间间隔,间隔过后产品将不再显示。

例如

产品:牛仔裤 剩余时间:10天。

10 天后牛仔裤产品将不再存在。在数据库中,我设置了一个名称为 active_status 的字段,它接受 Y 或 N..

我知道我可以简单地运行更新查询并在时间过去后将状态设置为“N”。在这个例子中 10 天后 但问题是我何时运行此更新查询? 我应该总是检查时间并一次又一次地运行更新查询并将状态设置为'N'吗?这是唯一的解决方案吗?

我的意思是通常我们确实喜欢,例如,如果客户登录我们设置一些状态或任何其他事件,但在这里我们设置状态以检查时间。希望你能理解我的问题

在数据库中,我正在保存用户通过管理面板输入的开始时间和天数

【问题讨论】:

  • 您是否为产品存储expire_date,如果是,那么您可以轻松选择当前日期小于过期日期的产品。
  • 你如何显示剩下的“10天”?您将其存储在数据库中还是使用日期计算?
  • 我正在使用日期计算
  • @AbhikChakraborty 你不明白这个问题。问题是我什么时候运行这个查询?我在什么条件下运行此查询.. 他们不会从用户端发生任何事件。

标签: php mysql database logic


【解决方案1】:

我的第一个镜头是 cron、php 脚本和属性表(如果需要,因为对于简单的用途,您可以将到期日期存储在业务实体中)。

  1. Cron 定期运行 php 脚本(例如每天一次),
  2. 脚本根据属性表或实体属性检查是否有要删除的内容。
  3. 如果有要删除的内容,脚本会删除选定的内容。

仅此而已,它实际上是非常流行的场景。

更多关于 cron 的信息:http://www.pantz.org/software/cron/croninfo.html

【讨论】:

    【解决方案2】:

    这是我的逻辑,希望对我的思考有所帮助

    在发布产品时,我们必须维护该产品的时间间隔,例如,如果您想展示 10 天的产品,请给出 10 天和发布产品的日期。

    通过与当前日期(即今天的日期)的时间间隔给出的日期和天数进行比较

    你能检查一下吗

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2019-02-17
      • 1970-01-01
      • 2018-09-14
      • 2012-03-25
      • 1970-01-01
      • 1970-01-01
      • 2014-11-20
      • 1970-01-01
      相关资源
      最近更新 更多