введите тип даты для установки даты, которая выбирается из базы данных - PullRequest
0 голосов
/ 27 июня 2018

У меня есть база данных пользователь состоит из таких атрибутов, как имя, пароль, 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']);} ?>">

Я хочу, чтобы дата извлекалась из базы данных для указанной даты ввода.

Ответы [ 2 ]

0 голосов
/ 27 июня 2018

Это должен быть комментарий, но он немного длинный.

Раньше я выбирал как показано ниже

То, что вы показали, не является действительным PHP - оно не будет работать. PHP скажет вам, когда что-то не работает, и почему, если ваши сообщения об ошибках / отчеты настроены правильно.

тип ввода = "дата"

Полагаю, вы знаете, что в браузерах поддержка очень ограничена

выберите *

Как правило, очень плохая идея - не конкретизировать, что вы выбираете из базы данных, и особенно в этом сценарии. Даже если базовым типом данных для dob является дата, вы должны сделать для нее явный формат, чтобы получить ее в нужной форме для последующей обработки (в данном случае, вставив ее в качестве значения для ввода)

0 голосов
/ 27 июня 2018

EDIT:
Как я понял в комментариях к моему ответу, вы храните DATETIME значения в вашей базе данных, а не DATE значения. Вот как можно получить формат date из формата datetime , используя класс 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; ?>">

Вопросы
<input type="date"> должно иметь значение в формате YYYY-MM-DD.
Функция date() ожидает формат и отметку времени .
Вы не указали значение 00-00-0000.

Вам не нужно форматировать строку date , так как ее формат подходит для вашего ввода:

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

Если вам нужно манипулировать датами в PHP, я бы порекомендовал класс DateTime.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...