Я пытаюсь добавить товары в корзину, когда я попробовал в первый раз, это сработало, но когда я выполнил функцию обновления, функция вставки не работает, может ли кто-нибудь помочь? заранее спасибо
это код
public function addCart($id,$qty,$price,$name,$color,$cat)
{
$size=$this->input->post('size');
$data = array(
'id' => $id,
'qty' => $qty,
'price' => $price,
'name' => $name,
'options' => array('Size' => $size, 'Color' => $color)
);
$res=$this->cart->insert($data);
if ($res == true){
$this->session->set_flashdata('success',urldecode($name).' Added in Cart.');
redirect('product/view_all/'.$cat);
}
else{
$this->session->set_flashdata('success','Product Adding Failed :(');
redirect('product/view_all/'.$cat);
}
}
public function viewCart()
{
$data['title'] = "Products in Cart | DreamShopie.in";
$this->load->view('templates/header',$data);
$this->load->view('templates/menu');
$this->load->view('main_page/cartView',$data);
$this->load->view('templates/footer');
}
public function removeCart($id)
{
$data = array(
'rowid' => $id,
'qty' => 0
);
$this->cart->update($data);
$this->session->set_flashdata('success', 'Item Removed');
redirect('cart/viewCart');
}
Это функция называется
покажите свою модельную функцию update()
это библиотечная функция
Покажите свою функцию insert() и update().






Предполагая, что $this->cart является вашей базой данных, вы не пропустили имя базы данных?
$this->cart->insert('db_name', $data);
Функция insert() и update() в модели cart должна быть такой
public function insert($data){
return $this->db->insert('table', $data);
}
public function update($data){
$this->db->where('column', $value);
$this->db->set($data);
return $this->db->update('table');
}
Я сам нашел ответ, ошибка произошла из-за того, что имя содержит недопустимые символы из URL-адреса, поэтому я использую функцию urlencode для имени
Проблема решена.
<?php echo form_open('cart/addCart/'.$product['product_id'].'/1/'.$tot.'/'.$product['p_name'].'/'.$ product['color'].'/'.$product['ccategory']); ?>