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());

EDIT : これを試して、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 で、日付フィールドにデフォルト値の 0 を指定します。

于 2012-12-08T09:02:01.050 に答える
0

これは、デフォルトおよびその他の設定を使用して mysql 側で制御できます。

mysql で以下を実行し、結果を共有できますか?

SHOW CREATE TABLE number_info;
于 2012-12-08T15:05:21.407 に答える