Suppose you have an array like this:

Array
(
    [product_name] => Door Type 1
    [product_price] => 599
    [de_color_id] => 2
    [designname] => Array
        (
            [1] => Design 1
            [2] => Design 2
        )

    [colorname] => Array
        (
            [1] => Array
                (
                    [0] => color 11
                    [1] => color 12
                )

            [2] => Array
                (
                    [0] => color21
                    [1] => color22
                    [2] => color23
                )

        )

    [colorprice] => Array
        (
            [1] => Array
                (
                    [0] => 10
                    [1] => 15
                )

            [2] => Array
                (
                    [0] => 20
                    [1] => 25
                    [2] => 30
                )

        )

)

If you need to insert above data into 3 different tables named product_door_type, product_door_design , product_door_color :

in your controller:

public function add_finish_good() {
    
    if ($this->input->server('REQUEST_METHOD') === 'POST') {
        
        date_default_timezone_set("Asia/Kolkata");
        /*Image Uploding start*/
        $file_name = $this->session->userdata('id').'_'.date('Ymdhis');
        if(!empty($_FILES['userfile']['name'])) {
            
            $file_ext   = $this->upload_image($file_name);
            $product_image      = 'uploads/products/'.$file_name.$file_ext;
            $product_image_thumb = 'uploads/products/'.$file_name.'_thumb'.$file_ext; 
        }
        else {
            $product_image = '';
            $product_image_thumb = '';  
        }
        /*Image Uploding End*/
        echo "<pre>"; print_r($_POST);exit;
        $product_type_data = array(
            'door_image' => $product_image,
            'door_image_thumb' => $product_image_thumb,
            'door_name' => $this->input->post('product_name'),
            'base_price' => $this->input->post('product_price')
        );
        $insert_door_type = $this->products_model->insert_door_type($product_type_data);
        
        // for insert design
        foreach ($this->input->post('designname') as $key => $designname) {
            $door_design_data = array(
                'door_type_id' => $insert_door_type,
                'design_name' => $designname
            );
            $insert_door_design = $this->products_model->insert_door_design($door_design_data);
            
            // for insert color and price
            foreach ($this->input->post('colorname')[$key] as $key_color => $colorname) {
                
               $colorprice = $this->input->post('colorprice')[$key][$key_color];
               
                $door_color_data = array(
                    'door_design_id' =>  $insert_door_design,
                    'color_name'      => $colorname,
                    'color_price' => $colorprice
                );
                $insert_door_color = $this->products_model->insert_door_color($door_color_data);
            }
        }
        
        if($insert_door_type && !$insert_door_design){
             redirect('admin/products/finishgoods');
        }
        if($insert_door_type && $insert_door_design){
            redirect('admin/products/finishgoods');
            //redirect('admin/products/add_finish_good_color?door_id='.$insert_door_type);
        }
    
    }
    $data['page'] = 'products';
    $id_user = $this->session->userdata('id');
    $data['user'] = $this->sales_model->get_users_sales($id_user);
    $this->load->view('admin/products/addfinishGood',$data);
}

Categories: CodeIgniter

0 Comments

Leave a Reply

Avatar placeholder

Your email address will not be published. Required fields are marked *