Как вставить в базу данных с типом ввода = месяц?

billing.php

Expiry Date: <input type="month" id="ccexpirydate" name="ccexpirydate" value="<?php echo $row['expirydate'] ?>"/>

Во-первых, как мне извлечь из базы данных только месяц и год?

dobilling.php

$expiryDate = $_POST['ccexpirydate'];

$query = "INSERT INTO bill (ccexpirydate) VALUES ('" . $expiryDate . "')";

Во-вторых, после редактирования даты истечения срока действия и отправки формы, как мне обновить базу данных с типом ввода = месяц? Показаны только месяц и год. Как и в настоящее время, моя база данных будет отображать 0000-00-00

0

Решение

Ввод даты передается в стандартном формате. Независимо от того, что показано пользователю (это будет их локальный формат), ваш сервер получит YYYY-MM,

Вы можете сохранить это как CHAR(7) столбец или добавить "-01" до конца и сохранить свой текущий DATE колонка.

1

Другие решения

Вы можете объединить любую случайную дату с переменной при вставке в таблицу, например

$expiryDate = $_POST['ccexpirydate'];
$expiryDate = $expiryDate."28"; //any date

И при получении и отображении в форме, вы можете использовать его следующим образом:

<input type="month" value="<?php echo date('Y-m', strtotime($table_name['date_field'])); ?>"> //Y-m will give you date like, eg. 2017-11. Input type month will automatically read it as.. November 2017
0