Codeigniter insérer s'il n'existe pas et si pas de mise à jour

j'ai deux tables pour ces produits de la catégorie de celui où je stocke les catégories de produits et l'autre est la liste de produits où j'insère des produits lorsque vous insérez un nouveau produit, il y aura un menu déroulant permettant de choisir parmi les catégories stockées sur la catégorie de produit, mais si vous souhaitez ajouter une autre catégorie, il y a un "autre" option dans la liste déroulante et un textarea apparaîtront et vous permet de créer une autre catégorie, mon problème est que si j'ajoute un nouveau produit à une catégorie existante dans la base de données elle ne marche pas, insérez-les dans les deux tables, mais si j'ajoute un nouveau produit avec une nouvelle catégorie, il réussi à inserts
mon contrôleur:

 function do_upload() {
$config['upload_path'] = './assets/';
$config['allowed_types'] = 'gif|jpg|png';
$config['max_size'] = '2000';
$config['max_width'] = '2000';
$config['max_height'] = '2000';
$config['new_image'] = './assets/';
$config['overwrite'] = TRUE;
$this->load->library('upload', $config);
$this->form_validation->set_rules('name', 'Product Name', 'required|xss_clean');
$this->form_validation->set_rules('description', 'Product Description', 'required|xss_clean');
$this->form_validation->set_rules('price', 'Price', 'required');
if (!$this->upload->do_upload() || !$this->form_validation->run()) {
$error = array('error' => $this->upload->display_errors());
redirect('add_products');
} else {
$data = $this->upload->data();
$this->thumb($data);
$category = $_POST["prod_category"];
if($category  == "2")
{
$category = $_POST["other_category"];
}
$file = array(
'img_name' => $data['raw_name'],
'thumb_name' => $data['raw_name'] . '_thumb',
'ext' => $data['file_ext'],
'product_name' => $this->input->post('name'),
'product_description' => $this->input->post('description'),
'product_price' => $this->input->post('price'),
'product_category' =>$category,    
);
$this->db->insert("product_category",array("category"=>$category));
$this->User->insert_prod($file);
$data = array('upload_data' => $this->upload->data());
echo '<script>alert("You Have Successfully Added a new Product!");</script>';
redirect('admin_products','refresh');
}
}

modèle

public function insert_prod($file){
$this->db->insert('product_table',$file);
}
  • Vous ne savez pas si elle est admissible à titre de réponse: andrea.codes/... C'est trop verbeux d'un motif...
  • essayé de l'utiliser mais n'arrive pas à le faire fonctionner
InformationsquelleAutor Christian | 2016-02-05