Всем привет,
Имеется простая таблица с графами
Дата начала работ и
Запланированная дата сдачи
Данные вводятся в модальном окне.
Дата начала работ имеет input
date.
Запланированная дата сдачи имеет input
number.
В базе данных
mold_start_date и
mold_scheduled_date имеют тип
date.
В модальном окне собираются данные формы и отправляются в БД по принципу:
public function addMolds(){
$mold_start_date = $_POST['mold_start_date']; // первая дата
$mold_scheduled_date = $_POST['mold_scheduled_date']; //вторая дата
$mold_scheduled_date = date( "Y-m-d", strtotime( $mold_start_date."+".$mold_scheduled_date." days") );//первая дата + вторая дата с преобразованием в тип даты MySQL
$insertQuery = "INSERT INTO ".$this->moldTable." (mold_start_date, mold_scheduled_date)
VALUES ('".$_POST["mold_start_date"]."', '".$mold_scheduled_date."')";
$isUpdated = mysqli_query($this->dbConnect, $insertQuery);
}
Теперь эти данные нужно изменить, опять же в модальном окне и отправить на сервер используя
UPDATE вместо
INSERT.
public function updateMolds(){
if($_POST['moldId']) {
$mold_start_date = $_POST['mold_start_date'];
$mold_scheduled_date = $_POST['mold_scheduled_date'];
$mold_scheduled_date = date( "Y-m-d", strtotime( $mold_start_date."+".$mold_scheduled_date." days") );
$updateQuery = "UPDATE ".$this->moldTable."
SET mold_start_date = '".$_POST["mold_start_date"]."', '".$mold_scheduled_date."'
WHERE id ='".$_POST["moldId"]."'";
$isUpdated = mysqli_query($this->dbConnect, $updateQuery);
}
}
Данные в модальное окно подставляются с помощью
JS
$("#moldsList").on('click', '.update', function(){
var moldId = $(this).attr("id");
var action = 'getMolds';
$.ajax({
url:'moldsaction.php',
method:"POST",
data:{moldId:moldId, action:action},
dataType:"json",
success:function(data){
$('#moldsModal').modal('show');
$('#moldId').val(data.id);
$('#mold_start_date').val(data.mold_start_date);
$('#mold_scheduled_date').val(data.mold_scheduled_date);
$('.modal-title').html("<i class='fa fa-plus'></i> Изменить форму");
$('#action').val('updateMolds');
$('#save').val('Save');
}
})
});
Все данные отлично добавляются, но не изменяются, потому что прежде чем выводить в модальное окно, данные дату нужно снова посчитать, но в обратном порядке:
Запланированная дата сдачи - Дата начала работ и вывести уже число. Каким образом посчитать в разницу в датах в JS и подставить в модальное окно?