输入类型日期以设置从数据库中获取的日期

时间:2018-06-27 09:22:04

标签: javascript php html html5 mysqli

我的数据库用户名称,密码,dob等属性组成。 数据类型用于存储日期为日期。在更新时,我曾经像下面那样获取

<select class="form-control" data-val="true" id="SelectedStatus" name="SelectedStatus">
<option value="">- Select -</option>
<option value="1">Sendt</option>
<option value="2">Under behandling</option>
<option value="3">Blive behandlet</option>
<option value="4">Modtaget</option>
</select>

我想要从数据库中获取到上述输入类型日期的日期。

2 个答案:

答案 0 :(得分:0)

编辑:
据我对我的答案的评论所了解,您正在数据库中存储DATETIME值,而不是DATE值。以下是使用DateTime类从 datetime 格式获取 date 格式的方法:

$dob = new DateTime($fet['dob']);
$formatted = $dob->format('Y-m-d');

以您的<input>的简短语法输出:

<?php
$dob = (new DateTime($fet['dob']))->format('Y-m-d');
?>
<input type="date" id="dob" name="dob" value="<?php echo $dob; ?>">

问题
<input type="date">的值应为YYYY-MM-DD格式。
date()函数需要格式 timestamp
您没有引用00-00-0000值。

您不需要格式化日期字符串,因为其格式适合您输入:

<input type="date" id="dob" name="dob" value="<?php echo $fet['dob']; ?>">

如果您需要使用PHP处理日期,我建议您使用DateTime类。

答案 1 :(得分:0)

这应该是评论,但有点长。

  

我曾经像下面那样获取

您显示的内容不是有效的PHP-无法正常工作。 PHP会告诉您什么东西无法正常工作,以及为什么错误日志记录/报告配置正确。

  

输入类型=“日期”

我想您知道这对浏览器的支持非常有限

  

选择*

通常,不明确从数据库中选择什么是一个非常糟糕的主意,在这种情况下尤其如此。即使dob的基础数据类型是日期,您也应该对其进行显式格式化,以使其以正确的形式进行后续处理(在这种情况下,将其作为输入的值注入)