【发布时间】:2016-01-29 16:34:11
【问题描述】:
我无法弄清楚这一点,我确信这很容易,但我以错误的方式接近它。我有一个mysql items db,列名datePur 并输入datetime。
样本数据;
+---------------------+
| datePur |
+---------------------+
| 2015-11-03 11:05:00 |
+---------------------+
| 2014-12-02 07:14:11 |
+---------------------+
| 2015-08-01 11:09:34 |
+---------------------+
我的网络应用中有两个表单,view 和 edit。
view 表单检索 db 数据并在 read only 表字段中显示日期,格式如下; (03-11-2015)
<td><input type='text' name='datePur' value="<?php echo date("d-m-Y", strtotime($datePur)); ?> disabled"></td>
这按预期工作。
我的 edit 表单检索相同的数据,但这次允许用户在必要时编辑日期。日期以以下格式显示给用户(不是我想要的); (2015-11-03 11:05:00)
<td><input type='text' name='datePur' value="<?php echo $datePur; ?>"></td>
我使用以下代码将数据发布到数据库;
edit.php
if (isset($_POST['btn-update'])) {
$datePur = ($_POST['datePur']);
}
function.php
public function update($datePur) {
try {
$stmt = $this->db->prepare("UPDATE items SET datePur=:datePur");
$stmt->bindParam(":datePur", $datePur);
$stmt->execute();
return true;
} catch (PDOException $e) {
echo $e->getMessage();
return false;
}
}
只有当我以 Y-M-d h:i:s 格式输入日期时,表单才会提交 - 与显示的格式相同。例如,我不能输入 03-11-2015,因为表单不会提交。
我想让最终用户的日期格式保持一致。我希望以 d-m-Y 格式向最终用户显示日期时间always。但是我希望它以 Y-M-d h:i:s 格式插入到数据库中
感谢任何建议。
【问题讨论】:
标签: php mysql forms date datetime