0

在我的表单上,我有一个不是必填字段的日期字段。我的问题是,如果用户不填写此字段并且他们在 mysql db 上提交表单,而不是将字段留空,它将保存 1969-12-31 以及在同一天提交的任何后续表单如果该字段再次留空,则日期将从 1969-12-31 开始按升序排列。我要更改什么,以便 mysql 将该字段留空。谢谢阅读。

以下是代码:

<input id="nfud" name="nfud" type="date" class="input-small"/>

Mysql提交查询

$nfud = date('Y-m-d', strtotime($_POST["nfud".$n.""]));
$query="insert into number_info (phone_number, data_plan, phone_used, fud, dealID) 
values ('".$nphone_number."','".$ndata_plan."','".$nphone_used."','".$nfud."','$dealID')";
        mysql_query($query) or die(mysql_error());
4

3 回答 3

2

如果您没有从表单中发布日期,只需将该字段留空:

if(isset($_POST["nfud$n"]) {
    $nfud = date('Y-m-d', strtotime($_POST["nfud$n"]));
} else {
    $nfud = "";
}
$query="insert into number_info (phone_number, data_plan, phone_used, fud, dealID) 
values ('".$nphone_number."','".$ndata_plan."','".$nphone_used."', '".$nfud."','$dealID')";
        mysql_query($query) or die(mysql_error());

编辑:试试这个让 MySQL 为你的列设置一个默认值

if(isset($_POST["nfud$n"]) {
    $nfud = date('Y-m-d', strtotime($_POST["nfud$n"]));
    $query="insert into number_info (phone_number, data_plan, phone_used, fud, dealID) 
            values ('".$nphone_number."','".$ndata_plan."','".$nphone_used."','".$nfud."','$dealID')";

} else {
    $query="insert into number_info (phone_number, data_plan, phone_used, dealID) 
            values ('".$nphone_number."','".$ndata_plan."','".$nphone_used."','$dealID')";
}

mysql_query($query) or die(mysql_error());
于 2012-12-08T09:03:41.160 回答
0

这可以在 mysql 端使用默认设置和其他设置进行控制。

您可以在mysql中运行以下内容并分享结果吗?

SHOW CREATE TABLE number_info;
于 2012-12-08T15:05:21.407 回答
0

在mysql中,给日期字段一个默认值0。

于 2012-12-08T09:02:01.050 回答