如何使用存储在我的数据库表中的PHP变量<input type=date>
自动填充下面的$person->dob
?
我尝试了以下操作,但它没有填写任何内容,只需保留dd/mm/yyyy
。
以下是代码:
<l1>Date of Birth <input value="<?= $person->dob; ?>" type="date" name="dob" required></l1>
答案 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); ?>