如何第一次插入,第二次更新
How to insert on first time and update for the second time
如果它是当天的第一个条目,我想插入该行,否则我想更新该行。我该怎么做。目前我已经完成了更新,但不知道该怎么做插入..请帮我实现这个..
这是我的控制器代码:
$startdate = $this->input->post('TDate');
$date = str_replace('/', '-', $startdate);
$newDate = date("Y-m-d", strtotime($date));
$data1 = array(
'tdate'=>$newDate,
'total_credit'=>$total_credit['amount'],
'total_debit'=>$total_debit['amount'],
);
$this->db->where('tdate',$newDate);
$this->db->update('daytot',$data1);
解决您的问题的一个方法是 总是 插入您的交易数据,您可能会发现它是acceptable。也就是说,第一个记录和每个后续记录将作为单独的插入进入数据库。然后,如果您需要做任何报告,例如按小时或天计算,您只需点击交易的 table 并汇总。
您要解决的问题,即在一天的开始有条件地进行插入,很麻烦,因为除了您已经指出的问题之外,您可能还需要担心应用程序中的多节点尝试同时执行此操作。
试试下面一个
$newDate = date("Y-m-d", strtotime($this->input->post('TDate')));
$data1 = array(
'tdate' => $newDate,
'total_credit' => $total_credit['amount'],
'total_debit' => $total_debit['amount'],
);
//Check record is exist for the request date
$objQuery = $this->db->get_where('daytot', array('tdate' => $newDate));
if ($objQuery->num_rows() > 0) { //UPDATE
$this->db->where('tdate', $newDate);
$this->db->update('daytot', $data1);
}
else { //INSERT
$this->db->insert('daytot', $data1);
}
希望这会奏效:)
如果它是当天的第一个条目,我想插入该行,否则我想更新该行。我该怎么做。目前我已经完成了更新,但不知道该怎么做插入..请帮我实现这个..
这是我的控制器代码:
$startdate = $this->input->post('TDate');
$date = str_replace('/', '-', $startdate);
$newDate = date("Y-m-d", strtotime($date));
$data1 = array(
'tdate'=>$newDate,
'total_credit'=>$total_credit['amount'],
'total_debit'=>$total_debit['amount'],
);
$this->db->where('tdate',$newDate);
$this->db->update('daytot',$data1);
解决您的问题的一个方法是 总是 插入您的交易数据,您可能会发现它是acceptable。也就是说,第一个记录和每个后续记录将作为单独的插入进入数据库。然后,如果您需要做任何报告,例如按小时或天计算,您只需点击交易的 table 并汇总。
您要解决的问题,即在一天的开始有条件地进行插入,很麻烦,因为除了您已经指出的问题之外,您可能还需要担心应用程序中的多节点尝试同时执行此操作。
试试下面一个
$newDate = date("Y-m-d", strtotime($this->input->post('TDate')));
$data1 = array(
'tdate' => $newDate,
'total_credit' => $total_credit['amount'],
'total_debit' => $total_debit['amount'],
);
//Check record is exist for the request date
$objQuery = $this->db->get_where('daytot', array('tdate' => $newDate));
if ($objQuery->num_rows() > 0) { //UPDATE
$this->db->where('tdate', $newDate);
$this->db->update('daytot', $data1);
}
else { //INSERT
$this->db->insert('daytot', $data1);
}
希望这会奏效:)