我如何只从javascript日历获取日期并将其存储到数据库中

时间:2011-01-04 08:44:37

标签: php mysql

我在我的表单中使用了javascript日历。用户必须使用此日历输入日期。并且日期存储在数据库中,但我需要的是必须保存日期的唯一日期。 我怎么能这样做,因为我不能在javascript代码中进行更改,因为我不擅长它。

$date_customer=date("d",strtotime($_POST['datum1']));

我还尝试过将列名更改为“tinyint”但没有工作:( ....它只存储127并显示从数据库查看记录时的显示。

4 个答案:

答案 0 :(得分:0)

我想你使用mysql(TINYINT是特定于mysql的)。

TINYINT是整数,在php整数中通常不以零为前缀

使用DATE字段并在报告时对其进行格式化。 您可以在查询中使用mysql date_format(date,"%d")函数。 或者是php date函数。

select date_format(date_field,"%d") from some_table;

您可以使用VARCHAR(2)存储日期(丑陋)。

如果坚持只在int或tynint中存储DAY。 使用sprintf("%02d",$day)在php中正确格式化。

答案 1 :(得分:0)

您可以使用发送日期而不是向服务器发送日期 javascript Date对象的.getDay()方法。

答案 2 :(得分:0)

我不知道您在文字输入中的日期格式(当您点击日历中的某一天时),但我怀疑它是dd / mm / yyyy或mm / dd / yyyy < / p>

所以你的php需要以下才能获得这一天

$date = explode("/",$_POST['datum1']); 
// if format is dd/mm/yyyy then use the below
$date_customer = $date[0]; 
// otherwise if format is mm/dd/yyyy then use the below  
$date_customer = $date[1];

查看explode功能

答案 3 :(得分:0)

我会使用this function(将其保存为unix时间戳)将MYSQL中的日期保存为INT,这有助于稍后比较日期(直到第二个)或添加/删除天/年/月。

这个想法是将javascript生成的整个日期字符串发送到PHP脚本“dd / mm / yyyy”,

然后在php中使用explode函数并使用mktime函数创建unix时间戳

然后将其作为int,

保存到数据库中

然后当你想要阅读它时,使用php date函数来知道日/月/年/小时/秒/分钟,然后你还可以添加小时(+3600)或天(+3600) *天)等等,甚至可以获得日期和许多其他功能,以后可以使用......

欢呼声