Ввод HTML:
<input name="week_ending" type="text" id="week_ending" value="" />
JQuery:
<script>
$(function() {
$( "#week_ending" ).datepicker();
});
</script>
Код PHP:
$week_ending = db_quote($_POST['week_ending']);
function db_quote($value) {
$connection = db_connect();
return "'" . mysqli_real_escape_string($connection,$value) . "'";
}
SQL:
$result = db_query("INSERT INTO `timesheets` (clientid, candid, weekending, department, orderno, basicpay, basiccharge, otpay, otcharge, ot2pay, ot2charge, status, hue, huc) VALUES ($client, $cand, $week_ending, $department, $order_no, $basic_pay, $basic_charge, $ot_pay, $ot_charge, $ot2_pay, $ot2_charge, $status, $hue, $huc)");
if($result){
print 'Success! ID of last inserted record is';
}
else {
die('Error : ' . db_error());
}
Каждый ряд, в который я вставляю timesheets
имеет дату как 0000-00-00
, Тип данных установлен на date
в timesheets
Таблица.
При проверке элемента после выбора даты HTML-код выглядит следующим образом:
<input class="hasDatepicker" name="week_ending" id="week_ending" value="" type="text">
Я предполагаю, что это объясняет 0000-00-00
входя в базу данных. Я пытался добавить .formatDate
но это, кажется, не имеет значения и попытался изменить на <input type="date">
но до сих пор ничего не появляется в value
имущество
Вы можете использовать функции PHP: date()
а также strtotime
проанализировать формат в метку времени, а затем в правильный формат даты.
Имейте в виду, что пользователи могут изменить поле ввода с неверными данными.
$week_ending = db_quote(date('Y-m-d',strtotime($_POST['week_ending'])));
По умолчанию Формат даты для jQuery UI mm/dd/yy
(где уу четыре цифра год). Вы должны преобразовать этот формат даты в формат даты MySQL:
$datestr = "07/24/2015";
$dateobj = DateTime::createFromFormat("m/d/Y", $datestr);
$week_ending = $dateobj->format("Y-m-d");
// $week_ending becomes "2015-07-24"