Как добавить дату с PHP / MySQL? - PullRequest
0 голосов
/ 04 января 2010

Я хочу автоматически добавить дату в поле order_date, когда покупатель оформляет заказ в моем интернет-магазине.

Какой лучший способ сделать это?

В той же таблице есть и другие поля, такие как, данные о доставке и дате оплаты.

Это хорошая идея, чтобы добавить скрытое поле, чтобы при отправке пользователь добавлял дату?

Но я не уверен, как это сделать.

Может кто-нибудь предложить мне лучший способ сделать это, пожалуйста?

Ответы [ 3 ]

5 голосов
/ 04 января 2010

Нет, вам не нужно скрытое поле формы. Вы можете сделать это прямо в MySQL.

Предполагая, что ваше поле order_date является ДАТА. DATETIME или TIMESTAMP, затем в SQL, который вставляет запись заказа, просто введите NOW () в качестве значения для order_date:

INSERT INTO orders (x,y,z,order_date) VALUES ('x','y','z',NOW());
0 голосов
/ 04 января 2010

Когда клиент размещает заказ, вы можете использовать столбец 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 ОБНОВЛЕНИЕ пункт, столбец имеет текущую метку времени для его значение по умолчанию, но не автоматически обновляется.

0 голосов
/ 04 января 2010

В операторе обновления, который завершает вашу запись заказа, сделайте что-то вроде этого:

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

Вы все равно не хотите полагаться на дату на стороне клиента. Это может быть выключено, и думать о часовых поясах. Вам нужен единственный источник дат в вашей системе, и это должен быть либо база данных, либо уровень кода на стороне сервера (PHP или что у вас есть).

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...