使用php变量自动填充<input type =“date”/>

时间:2018-03-20 19:10:49

标签: php html mysql

如何使用存储在我的数据库表中的PHP变量<input type=date>自动填充下面的$person->dob

我尝试了以下操作,但它没有填写任何内容,只需保留dd/mm/yyyy

以下是代码:

<l1>Date of Birth <input value="<?= $person->dob; ?>" type="date" name="dob" required></l1> 

1 个答案:

答案 0 :(得分:1)

value属性只接受格式为yyy-mm-dd的值(在PHP中为Y-m-d)。根据{{​​3}}:

  

需要注意的一点是显示的日期格式与   实际值 - 显示的日期格式将根据   设置用户浏览器的区域设置,而日期值始终为   格式化yyyy-mm-dd。

这意味着您必须将日期转换为此格式。理想情况下,数据库中的字段是date字段,那么您应该能够通过正在使用的ORM层设置输出格式。

如果没有,您可以使用PHP日期函数进行转换:

<?= date('Y-m-d', strtotime($person->dob)); ?>

或者使用简单的正则表达式,可能会稍快一些:

<?= preg_replace('/^(\d{2})\/(\d{2})\/(\d{4})$/', '$3-$2-$1', $person->dob); ?>