我正在尝试在网上商店中处理当天的交易。我可以进行当天的任何产品交易,因此我将给出到期时间和日期,以便产品自动从数据库中的当天交易表中删除。我的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 框架中制作在线商店。我以前没有做过任何这样的功能,所以如果我正在做或者有更好的方法可以做到这一点,请建议我这样做会很有帮助。