0

我正在尝试在网上商店中处理当天的交易。我可以进行当天的任何产品交易,因此我将给出到期时间和日期,以便产品自动从数据库中的当天交易表中删除。我的js代码是

   $.ajax({
 url:'<?php echo base_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:"<?php echo base_url(); ?>public_controller/del_deal",
              method:"post",
              data:{delId: delId},
              success:function(){
                // alert('deal expired');
                // location.reload(true);
              },
              error:function(e){
                alert(e);
              }
            });
            }
   }

 }
  },1000);

});

我正在做的是,当主页加载时,我正在从数据库中获取当日交易表的数据,并每秒检查任何产品是否已达到其到期时间。当产品任何产品过期时,它都会向控制器发送 id 以从表的交易中删除产品。我的控制器方法是

  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 框架中制作在线商店。我以前没有做过任何这样的功能,所以如果我正在做或者有更好的方法可以做到这一点,请建议我这样做会很有帮助。

4

0 回答 0