jQuery の Datepicker を使用しています。ページが送信されたときに、値が入力されていない場合はNULL
、SQL テーブルに挿入する必要があります。代わりに、現在挿入中1900-01-01 00:00:00.000
です。NULL
jQuery の Datepicker を使用して挿入を渡すことは可能ですか?
何年も前に作成された SQL テーブルでは、データ型は でdatetime
、Null を許可ははいに設定されています。Default Value または Binding には何も設定されていません。
また、エラー チェックを行っており、SQL インジェクションの可能性を考慮しています。ここでクラスターを防止し、コードをシンプルで読みやすくするために、ここには含めません。
PHP
$sDate = $_POST['sDatepicker'];
$eDate = (!empty($_POST['eDatepicker'])) ? $_POST['eDatepicker'] : NULL;
$insert = "INSERT INTO table1 (sdate, edate)
VALUES ('$sDate', '$eDate')";
// Connection, error checking, execution, etc. using ODBC
私も試しました:
if (empty($_POST['eDatepicker'])) {
$insert = "INSERT INTO table1 (sdate, edate)
VALUES ('$sDate', NULL)";
} else {
$eDate = $_POST['eDatepicker'];
$insert = "INSERT INTO table1 (sdate, edate)
VALUES ('$sDate', '$eDate')";
}
// Connection, execution, etc.
また、隠しフィールドを追加して使用しようとしました(empty($_POST['eDatepicker']))
が、空の場合は日付ピッカーも使用されません。これを行っても、同じ1900-01-01 00:00:00.000
.
HTML/jQuery
<div>
<label>Start Date:</label>
<input type="text" id="sDatepicker" name="sDatepicker" class="required" />
</div>
<div>
<label>End Date:</label>
<input type="text" id="eDatepicker" name="eDatepicker" />
<input type="submit" value="Submit" id="btnSubmit" />
</div>
$('#sDatepicker, #eDatepicker').datepicker({
changeMonth: true,
changeYear: true,
dateFormat: "mm/dd/yyyy"
});
また、jQueryでdatepickerを分割して追加しようとしましたdefaultDate: null
が、それも機能しませんでした。