Элемент не удаляется из базы данных по истечении времениJquery

Программирование на jquery
Ответить
Anonymous
 Элемент не удаляется из базы данных по истечении времени

Сообщение Anonymous »

Я пытаюсь сделать функцию «Сделка дня» в интернет-магазине. Я могу заключить любую сделку дня по продукту, поэтому я укажу время и дату истечения срока действия, чтобы продукт автоматически удалялся из таблицы сделок дня в базе данных. Мой js-код

Код: Выделить всё

   $.ajax({
url:'public_controller/get_deals_of_the_day',
method:'post',
dataType:'json',
success:function(data) {
console.log(data);
let i;
setInterval(function(){
var today = new Date();
var date = today.getDate()+'/'+(today.getMonth()+1)+'/'+today.getFullYear();
var time = today.getHours() + ":" + today.getMinutes() + ":" + today.getSeconds();

for(i in data){
var month = parseInt(data[i].expire_time.slice(0,2));
var day = parseInt(data[i].expire_time.slice(3,5));
var year = parseInt(data[i].expire_time.slice(6,10));
var format = data[i].expire_time.slice(16,19);
var hours = parseInt(data[i].expire_time.slice(11,13));
if(format == 'PM' || format == ' PM'){
hours = hours + 12;
}
// console.log(hours);
var mins = parseInt(data[i].expire_time.slice(14,16));
var cMonth = today.getMonth() + 1;
var cDay = today.getDate();
var cYear = today.getFullYear();
var cHours = today.getHours();
var cMins = today.getMinutes();

if (cDay >= day && cHours >= hours && cMins > mins) {
let delId = data[i].product_id;
console.log(delId);
$.ajax({
url:"public_controller/del_deal",
method:"post",
data:{delId: delId},
success:function(){
// alert('deal expired');
// location.reload(true);
},
error:function(e){
alert(e);
}
});
}
}

}
},1000);
});

что я делаю, так это то, что я извлекаю данные о таблице сделок дня из базы данных по мере загрузки домашней страницы и каждую секунду проверяю, достиг ли какой-либо продукт срока годности. Когда срок действия каких-либо продуктов истекает, он отправляет идентификатор контроллеру, чтобы удалить продукт из сделки таблицы. Мой метод контроллера:

Код: Выделить всё

  public function del_deal(){
$deal_id = $this->input->post('delId');
$deal = $this->db->where('deal_id',$deal_id)->join('products','products.product_id =
deal_of_day.product_id')->get('deal_of_day')->row_array();
$update['price'] = $deal['old_price'];
$this->db->where('product_id',$deal['product_id'])->update('products',$update);
$this->db->where('deal_id',$deal_id)->delete('deal_of_day');


Условие проверяется. Я просто проверяю день, часы и минуты в целях тестирования. Проблема в том, что продукт не удаляется, если условия удовлетворяют.
Я создаю интернет-магазин в рамках codeigniter. Я раньше не создавал подобных функций, поэтому, если я это делаю или есть лучший способ сделать это, предложите мне, это будет очень полезно.

Подробнее здесь: https://stackoverflow.com/questions/619 ... is-expired
Ответить

Быстрый ответ

Изменение регистра текста: 
Смайлики
:) :( :oops: :roll: :wink: :muza: :clever: :sorry: :angel: :read: *x)
Ещё смайлики…
   
К этому ответу прикреплено по крайней мере одно вложение.

Если вы не хотите добавлять вложения, оставьте поля пустыми.

Максимально разрешённый размер вложения: 15 МБ.

Вернуться в «Jquery»