【问题标题】:Add Date/Time when adding product to database将产品添加到数据库时添加日期/时间
【发布时间】:2013-09-10 13:13:43
【问题描述】:

我已经尝试用谷歌搜索这个,所以我不必问,因为我确信这是一项简单的任务......

我正在构建一个电子商务网站,并希望将产品添加到产品数据库中的日期和时间添加到产品数据库中?

抱歉,如果这很简单,但我已经先在其他地方进行了研究。

谢谢

【问题讨论】:

  • 您遇到的具体问题是什么?您是否尝试过使用内置函数? date('d-m-Y');DateTime class?
  • Shane,这是一个很好的问题,但是有很多不同的解决方案。如果您可以向我们提供更多信息,我们可以尝试推荐适合您情况的信息。例如,您是在编写原始 PHP,还是在使用框架?您使用哪个库与 MySQL 通信?
  • @pjmorse - 我不确定,因为我对这一切都不熟悉。我正在编写原始 PHP
  • 然后就可以使用php日期函数了

标签: php html mysql datetime


【解决方案1】:

这可能只是您的数据库架构的一部分:

ALTER TABLE  `products` ADD  `created` TIMESTAMP NOT NULL DEFAULT CURRENT_TIMESTAMP

每当创建行时,这将自动向created 列添加时间戳。更多信息,试试这个:Automatic Initialization and Updating for TIMESTAMP

显然,在这种情况下,该表称为 products,您需要将其更改为您的表名。

更新 要同时更新所有现有记录,只需运行:

UPDATE `products` SET `created` = NOW()

如果你想更具体的使用:

UPDATE `products` SET `created` = NOW() WHERE `created` = '0000-00-00 00:00:00'

【讨论】:

  • 这是最好的方法。让数据库做工作,不用担心用 PHP 做。
  • 太棒了!谢谢,所有以前的产品现在都显示为0000-00-00 00:00:00 是否有查询将所有这些更改为2013-09-10 14:25:27
  • @Shane 查看我的更新。只需将所有记录设置为当前日期/时间即可。如果您特别想要该时间戳,只需将 NOW() 更改为 '2013-09-10 14:25:27'
  • @BrendanBullen - 太棒了,非常感谢。最后(抱歉)你能帮忙吗,我有一个列表应该显示 10 个最新产品,我现在该怎么做(现在我已经记录了日期和时间)这是我当前的代码 $result=mysql_query("SELECT * FROM products LIMIT 1,10")
  • @Shane 您需要在查询中对结果进行排序。试试:$result=mysql_query("SELECT * FROM products ORDER BY created DESC LIMIT 0,10")
【解决方案2】:

方法1:将当前日期时间作为参数传递给插入

方法2:设置产品表中日期时间列的默认值

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2015-09-21
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2011-09-02
    相关资源
    最近更新 更多