PHP / MySQL ile tarih eklemek nasıl?

3 Cevap php

Ben ne zaman bir müşteri kasaların benim online alışveriş otomatik ORDER_DATE alanına tarih eklemek istiyorum.

Bunu yapmak için en iyi yolu nedir?

Aynı tabloda teslimat bilgileri ve ödeme tarihi gibi diğer alanlar vardır.

Bir cutomer gönderdiğinizde, tarih eklenecektir böylece gizli bir alan eklemek için iyi bir fikir mi?

Ama bunu nasıl emin değilim.

Herkes bana lütfen yapmak için daha iyi bir yol önerir misiniz?

3 Cevap

Hayır, gizli bir form alanı gerekmez. MySQL doğrudan yapabilirsiniz.

Lütfen order_date alan bir TARIHI olduğunu varsayarsak. DATETIME veya TIMESTAMP, sonra SQL için değer olarak basitçe sipariş rekoru, NOW() ekler order_date ki:

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

Sipariş rekoru sonuçlandırır güncelleme açıklamada, böyle bir şey yapın:

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

Zaten istemci tarafı bugüne güvenmek istemiyorum. Bu kapalı olması ve zaman dilimleri düşünemeyiz. Eğer sisteminizde tarihlerin bir tek kaynak istiyorum, ve bu veritabanı veya sunucu tarafı kod tabakası (PHP ya da ne var) şeklinde olmalıdır.

Bir müşteri sipariş verildiğinde izlemek için bir TIMESTAMP sütun kullanabilirsiniz sipariş verdiğinde / sipariş veritabanını kaydedildi. Gibi bir şey:

ALTER TABLE sales_order ADD COLUMN date_placed TIMESTAMP DEFAULT CURRENT_TIMESTAMP;

DEFAULT CURRENT_TIMESTAMP ancak daha sonraki güncellemeleri, satır oluşturulur şimdiki zaman ile dolu olacak. Daha fazla bilgi için dokümanlar bakın:

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

With a DEFAULT CURRENT_TIMESTAMP clause and no ON UPDATE clause, the column has the current timestamp for its default value but is not automatically updated.