如何在日历中选择出生日期


How to choose date of birth in calendar

一个表单输入作为出生日期 选择日历前端并存储为 MySQLI。

我不知道有人说该怎么做。因为我是PHP的新手。

您可以使用 jQuery UI 日期选择器。您可以在此处找到其文档

让我们首先包含并启动插件

 /* include files needed */
<link rel="stylesheet" href="//code.jquery.com/ui/1.11.4/themes/smoothness/jquery-ui.css">
<script src="//code.jquery.com/jquery-1.10.2.js"></script>
<script src="//code.jquery.com/ui/1.11.4/jquery-ui.js"></script>
/* initiate plugin */
<script>
  $( "#date" ).datepicker({dateFormat: "yy-mm-dd"});
</script>

选择器将是您的日期input看起来像这样:

<input type="text" id="date" name="date">

然后按照通常的方式存储日期。 请记住,日期格式必须YYYY-MM-DD

使用

<input type="date" name="birthDate">
$birthDate = $_POST['birthDate'];

使用 strtotime,您可以以 yyyy-mm-dd 格式存储日期。

$newDOB = date('Y-m-d', strtotime($birthDate));

按照以下四个步骤完成需求设置。只需要创建数据库结构。

1. 配置日期选择器以使用 altField(http://api.jqueryui.com/datepicker/#option-altField) 及其 altFormat 选项以支持的格式提供日期:

<input type="hidden" id="actualDate" name="actualDate"/>
$( "selector" ).datepicker({
    altField : "#actualDate"
    altFormat: "yyyy-mm-dd"
});

或者,如果您愿意让用户看到 YYYY-MM-DD 格式的日期,只需设置 dateFormat 选项:

$( "selector" ).datepicker({
    dateFormat: "yyyy-mm-dd"
});

2. 使用 MySQL 的 STR_TO_DATE() 函数转换字符串:

INSERT INTO user_date VALUES ('', '$name', STR_TO_DATE('$date', '%m/%d/%Y'))

3. 将从 jQuery 接收的字符串转换为 PHP 理解为日期的内容,例如 DateTime 对象:

$dt = 'DateTime::createFromFormat('m/d/Y', $_POST['date']);
and then either:

- 获取合适的格式化字符串:

$date = $dt->format('Y-m-d');

- 获取 UNIX 时间戳:

$timestamp = $dt->getTimestamp();
which is then passed directly to MySQL's [FROM_UNIXTIME()][3] function:
INSERT INTO user_date VALUES ('', '$name', FROM_UNIXTIME($timestamp))

4. 手动将字符串操作为有效的文本:

$parts = explode('/', $_POST['date']);
$date  = "$parts[2]-$parts[0]-$parts[1]";

希望这对你有帮助!

<input type="date" name="bday">

试试这个从用户那里获取出生日期。

然后在 PHP 中转换

<?php
    $dob = date('Y-m-d', strtotime($_POST['bday']));
?>