2016-10-21 3 views
-5

сегодня я побежал в к проблеме,Лучший способ для хранения специальной TIMESTAMP

я хочу, чтобы поле ввода, где люди могут выбрать дату и поставить эту дату в моей базе данных MySQL с типом временной метки. Как я могу сделать что-то подобное

Моя база данных выглядит следующим образом

enter image description here

+0

Вы просто спрашиваете, как вставлять данные в базу данных? Что вы пробовали? – David

+0

Я пробовал так много вещей, но каким-то образом я не могу его получить, поэтому я делаю тип ввода формы, где вы можете выбрать дату и опубликовать данную дату со вставкой в ​​базу данных –

+0

Ну, можете ли вы привести пример чего-то, что вы «Пробовал и объяснял, как он работает не так, как ожидалось? Какая отладка вы сделали и где конкретно это не удается? Просто спрашивать, как вставлять данные в базу данных, обычно отвечает «Начните с учебника и попробуйте». – David

ответ

-1

Отметка вставляется автоматически, как ваш столбец даты в базе данных помечается

CURRENT_TIMESTAMP

Просто передайте пустое значение.

+0

Это, но я хочу создать html-форму, где вы можете выбрать дату и поместить эту дату в базу данных. –

+0

Затем вам нужно сначала изменить свою базу данных и удалить этот флаг. Во-вторых, нужно правильно отформатировать дату ввода и передать его в запросе mysql. – Blackbam

+0

На самом деле вам не нужно удалять текущую временную отметку по умолчанию. Это используется только тогда, когда стоимость не предоставляется, и может быть удобна для людей, которые выбирают сегодня. Просто убедитесь, что вы вставляете даты в правильном формате, так как Peck3277 указывает –

2

Вам необходимо сохранить его в таком формате: Y-m-d H: i: s.

Если он еще не в вышеуказанном формате, используйте класс DateTime.

$userInput = "20/12/2016"; 
$date = DateTime::CreateFromFormat("d/m/Y", $userInput); 

Теперь у вас есть объект datetime. При этом вы можете отформатировать его с помощью

$date->format('Y-m-d H:i:s); 

Примечание: Я лично использую поле DateTime, а не поле временной метки.

0

Я не знаю, что именно вы хотите.

$date = $_POST['date']; 
$timestamp = date('Y-m-d H:i:s', strtotime($date)); 

затем введите $timestamp в вашу базу данных.

+0

Это выглядит хорошо, мое поле ввода, чем выглядит ? –

+0

вход может быть любым типом ввода, текстом, датой и т. Д., Но для работы кода он должен быть 'name =" date ", чтобы заполнить' $ _POST ['date'] ' –

Смежные вопросы