我在我的表单中使用了javascript日历。用户必须使用此日历输入日期。并且日期存储在数据库中,但我需要的是必须保存日期的唯一日期。 我怎么能这样做,因为我不能在javascript代码中进行更改,因为我不擅长它。
$date_customer=date("d",strtotime($_POST['datum1']));
我还尝试过将列名更改为“tinyint”但没有工作:( ....它只存储127并显示从数据库查看记录时的显示。
答案 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) *天)等等,甚至可以获得日期和许多其他功能,以后可以使用......
欢呼声