首页 > 解决方案 > 输入类型日期以设置从数据库中获取的日期

问题描述

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

$query="select * from user where email='$user'";
$res=mysqli_query($conn,$query);
$fet=mysqli_fetch_array($res);

<input type="date" id="dob" name="dob" value="<?php if($fet['dob']==00-00-0000){ }else{ echo date($fet['dob']);} ?>">

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

标签: javascriptphphtmlmysqli

解决方案


编辑:
正如我在回答的评论中所理解的那样,您将DATETIME值存储在数据库中,而不是DATE值。以下是如何使用类从日期时间格式获取日期格式:DateTime

$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; ?>">

问题
An<input type="date">应该具有YYYY-MM-DD格式中的值。
date()函数需要格式时间戳
您没有引用该00-00-0000值。

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

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

如果您需要在 PHP 中操作日期,我会推荐该DateTime课程。


推荐阅读