当客户结帐我的网店时,我想在order_date字段中自动添加日期。
最好的方法是什么?
在同一张表格中还有其他字段,如交货数据和付款日期。
添加隐藏字段是否是个好主意,以便当裁剪提交时,会添加日期?
但我不知道该怎么做。
有人能告诉我更好的方法吗?
答案 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具有当前时间戳 它的默认值但不是 自动更新。