如何用PHP / MySQL添加日期?

时间:2010-01-04 17:47:09

标签: php mysql

当客户结帐我的网店时,我想在order_date字段中自动添加日期。

最好的方法是什么?

在同一张表格中还有其他字段,如交货数据和付款日期。

添加隐藏字段是否是个好主意,以便当裁剪提交时,会添加日期?

但我不知道该怎么做。

有人能告诉我更好的方法吗?

3 个答案:

答案 0 :(得分:5)

不,您不需要隐藏的表单字段。您可以直接在MySQL中执行此操作。

假设您的order_date字段是DATE。 DATETIME或TIMESTAMP,然后在您的SQL中插入订单记录,只需将NOW()作为order_date的值:

INSERT INTO orders (x,y,z,order_date) VALUES ('x','y','z',NOW());

答案 1 :(得分:0)

在最终确定订单记录的更新语句中,执行以下操作:

update order set ....., order_date = now() where  ...

您无论如何都不想依赖客户端日期。它可能会关闭,并考虑时区。您需要系统中的单个日期源,它应该是数据库或服务器端代码层(PHP或您拥有的)。

答案 2 :(得分:0)

当客户下订单时,您可以使用TIMESTAMP列来跟踪订单的下达时间/订单是否已保存在数据库中。类似的东西:

ALTER TABLE sales_order ADD COLUMN date_placed TIMESTAMP DEFAULT CURRENT_TIMESTAMP;

DEFAULT CURRENT_TIMESTAMP将在创建行时填充当前时间,但不会在后续更新中填充。有关更多信息,请参阅文档:

http://dev.mysql.com/doc/refman/5.0/en/timestamp.html

  

使用DEFAULT CURRENT_TIMESTAMP   子句和没有ON UPDATE子句,   column具有当前时间戳   它的默认值但不是   自动更新。