Нужно вывести дату из БД в input type="date" в формате d-m-Y
У меня есть таблица в базе данных, где хранится дата в формате Y-m-d в поле типа "date". Есть страница на html, где я могу редактировать данные из таблицы, но дата, находящаяся в таблице, в value у input'а типа "дата" не выводится, и надо заново ее устанавливать. Вот код на php:
<?php
$list = mysqli_query($id, "SELECT * FROM teacher WHERE IDT = '$IDT'");
$list = mysqli_fetch_assoc($list);
$date = date('d.m.Y', $list['BDay']); //вот тут и не работает
?>
Вот input из формы на html:
<p>Дата рождения : <input type = "date" name = "BDay" value = '<?=$date?>'></p>
Не работают также и эти варианты:
1.
$date = date ('d-m-Y', strtotime($list['BDay']));
<p>Дата рождения : <input type = "date" name = "BDay" value = '<?=$date?>'></p>
- с тем же html
$date = date ('d.m.Y', $list['BDay']);
Как же преобразовать дату из базы данных так, чтобы она выводилась в value?
Ответы (2 шт):
Не знаю с чего вы решили, что нужен формат "dd-mm-yyyy", потому что в документации: https://developer.mozilla.org/ru/docs/Web/HTML/Element/Input/date#%D0%B7%D0%BD%D0%B0%D1%87%D0%B5%D0%BD%D0%B8%D0%B5 написано что там формат "yyyy-mm-dd"
Помните, что отображаемый формат даты отличается от настоящего значения value – отображаемый формат даты будет выбран, базируясь на региональных параметрах браузера пользователя, тогда как значение value всегда имеет формат гггг-мм-дд.
<input id="date" type="date" value="2017-06-01">
Алексей спас таких же тупых, как я. Если кому не ясно, вот как это должно выглядеть:
<?php
$list = mysqli_query($id, "SELECT * FROM `teacher` WHERE `IDT` = '$IDT'");
$list = mysqli_fetch_assoc($list);
$date = $list['BDay'];
?>
И на html:
<p>Дата рождения : <input type = "date" name = "BDay" value = '<?=$date?>'></p>