型号:
function insertMonths($dr){
$cus = $this->db->query("SELECT * FROM purchase WHERE status=1 AND dr_no='$dr'");
return $cus->row();
$start = (new DateTime($cus->date_sold))->modify('+1 month');
$end = (new DateTime($cust->due_date))->modify('+1 month');
$interval = DateInterval::createFromDateString('1 month');
$period = new DatePeriod($start, $interval, $end);
$query = $this->db->query("SELECT * FROM duedate WHERE dr_no='$dr'");
if($query->num_rows() > 0){
return false;
}else{
foreach ($period as $dt) {
$datas = array(
'cust_id' => $cust->cust_id ,
'mi' => $dt->format("Y-m-d") ,
'amount' => $cust->monthly_instlmnt,
'dr_no' => $dr,
'payment' => $cust->monthly_instlmnt
);
$this->db->insert('duedate', $datas);
}
}
}
Controller :
function ledger($id, $dr){
$this->load->view('layout/header');
$data['cust_data'] = $this->m->getData($id);
$datar['mos'] = $this->m->insertMonths($dr);
$this->load->view('receivables/ledger', $data, $datar);
$this->load->view('layout/footer');
}
链接到账本的 Botton js 代码:
'<td><a href="<?php echo base_url().'Receivables/ledger/';?>'+data[i].cust_id+'/'+data[i].dr_no+'"><button type="button" class="btn btn-success">View</button></a></td>'
我希望它在输入链接 ledger/id/dr
时将 $datas
添加到表 duedate
中,如果存在重复数据它不会添加。
但问题是即使没有重复数据也不会添加。
最佳答案
为什么你的函数的第 2 行有一个 return
语句?
$cus = $this->db->query("SELECT * FROM purchase WHERE status=1 AND dr_no='$dr'");
return $cus->row();
如果您忽略了这一点,它就不会进入您的插入查询,因为您已经命令该函数返回。
删除这个(在你函数的第 2 行)
return $cus->row();
关于php - Codeigniter:没有错误,但不会将数据插入数据库,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/48618381/