用户在表单中插入日期

时间:2010-12-03 17:31:20

标签: php mysql forms date

我有一个用户需要插入日期的表单。然后程序使用该日期来确定到期日期。我的问题是,用户在表单中插入日期的最佳方法是什么,以便将其存储在mysql日期单元格中。

谢谢!

2 个答案:

答案 0 :(得分:2)

在前端使用类似的东西:

http://jqueryui.com/demos/datepicker/

如果您不想在PHP中操作日期字符串,请将datepicker设置为YYYY-MM-DD格式(在MySQL DATE类型中使用)。然后使用Javascript或作为表单的一部分发送您的信息。

答案 1 :(得分:1)

我同意@treeface。使用jQUery的DatePicker,但使用为您的国家/地区用户本地化的日期格式。它发生在我身上,世界各地人们使用不同的时间格式。注意这一点。您可以使用MySQL DATE(YYYY-MM-DD),DATETIME(YYYY-MM-DD HH:MM:SS)或UNIX TIMESTAMP将该时间存储在数据库中。比较日期很简单,有很多脚本可供阅读。使用您的控制器将数据发送到您的模型,比较,并根据结果返回TRUE / FALSE。使用该布尔值,您可以向用户显示结果。此外,您可以使用jQuery实现这一目标。将所选日期发送到服务器,比较并返回JSON响应和OK / NOTOK状态。

例如:


<head>
....
<script type="text/javascript" src="http://ajax.googleapis.com/ajax/libs/jquery/1.4.2/jquery.min.js"></script>
<link rel="stylesheet" href="path/to/jquery-ui-1.8.4.css" type="text/css" media="screen" />
<script type="text/javascript" src="path/to/jquery-ui-1.8.4.min.js"></script>
....
</head>

<script type="text/javascript">
$("input#datepicker").datepicker({
    showOn: 'both',
    buttonImageOnly: true,
    buttonImage: 'images/calendar-trans.png',
    firstDay: 1,
    dateFormat: "dd/mm/yy", // Select a time format that suits you
    changeMonth: true,
    changeYear: true,
    onSelect: function(dateText, inst) { 
        $.post(url+"/calendar/check_date/",
        {
            date_selected: $("input#datepicker").val();

        },function(data){
            if(data.status != 'OK'){
                alert('Your date is wrong. Try again!');
            }
        });
    }
});
</script>