Import CSV Data into Mysql in Codeigniter

From

<form id="csvfile" method="post" enctype="multipart/form-data" action="<?php echo base_url()."admin/amazon_fees_detail/uploadcsvamazonfeesdetail"; ?>">
    <div class="form-group">
        <div class="col-sm-3">
            <?php echo anchor('admin/amazon_fees_detail/createamazonfeesdetail', '<i class="fa fa-plus"></i> Create Amazon Fees Detail', array('class' => 'btn btn-block btn-primary btn-flat')); ?>
        </div>
    </div>
    <div class="form-group"><div class="col-sm-3"></div></div>
    <div class="form-group">
        <label class = "col-sm-3 control-label" style="text-align: end;padding-top: 5px;">Upload CSV File</label>
        <div class="col-sm-2"  style="text-align: end;padding-top: 5px;">
            <input type="file" name="csv" id="csv" />
        </div>
    </div>
    <div class="form-group">
        <div class="col-sm-1">
            <button type="submit" class="btn btn-primary" id="Submit">Submit</button><br><br>
        </div>
    </div>
</form>


Controller

public function uploadcsvamazonfeesdetail(){    if (!empty($_POST['csv'])) {        $fileName = $_FILES["csv"]["tmp_name"];        $count=0;        $fp = fopen($fileName,'r') or die("can't open file");        while($csv_line = fgetcsv($fp,1024))        {            $count++;            if($count == 1)            {                continue;            }//keep this if condition if you want to remove the first row            for($i = 0, $j = count($csv_line); $i < $j; $i++)            {                $get_mws_settings = $this->mws_settings_model->getmwssettingsbymws_sellerid($csv_line[1]);                $user_id = $get_mws_settings['user_id'];                $insert_csv = array();                $insert_csv['date']             = (empty($csv_line[0]) ? 'null' : $csv_line[0]);                $insert_csv['user_id']          = (empty($csv_line[1]) ? 'null' : $user_id);                $insert_csv['invoice_no']       = (empty($csv_line[2]) ? 'null' : $csv_line[2]);                $insert_csv['amount']           = (empty($csv_line[3]) ? 'null' : $csv_line[3]);                $insert_csv['shipping_charge']  = (empty($csv_line[4]) ? 'null' : $csv_line[4]);                $insert_csv['pg_listing_other_charge'] = (empty($csv_line[5]) ? 'null' : $csv_line[5]);                $insert_csv['storage_fee']      = (empty($csv_line[6]) ? 'null' : $csv_line[6]);                $insert_csv['fixed_closing_fee']= (empty($csv_line[7]) ? 'null' : $csv_line[7]);
            }            $i++;            // get mws settings details by id            $get_mws_settings_details = $this->mws_settings_model->getmwssettingsbyid($insert_csv['user_id']);            // calculation            $contractor_amount   = ($insert_csv['shipping_charge'] * $get_mws_settings_details['contractor_percentage']) / 100;            $professional_amount = ($insert_csv['pg_listing_other_charge'] * $get_mws_settings_details['professional_percentage']) / 100;            $rent_amount         = ($insert_csv['storage_fee'] * $get_mws_settings_details['rent_percentage']) / 100;            $sub_total = (float)$contractor_amount + (float)$professional_amount + (float)$rent_amount;            // data array            $data = array(                'date'              => date('Y-m-d',strtotime($insert_csv['date'])),                'user_id'           => $insert_csv['user_id'],                'invoice_no'        => $insert_csv['invoice_no'],                'amount'            => $insert_csv['amount'],                'shipping_charge'   => $insert_csv['shipping_charge'],                'pg_listing_other_charge' => $insert_csv['pg_listing_other_charge'],                'storage_fee'       => $insert_csv['storage_fee'],                'fixed_closing_fee' => $insert_csv['fixed_closing_fee'],                'contractor_amount' => $contractor_amount,                'professional_amount' => $professional_amount,                'rent_amount'       => $rent_amount,                'brokerage_amount'  => 0.00,                'sub_total'         =>$sub_total            );
            // check seller settlement            $get_where = array(                'date =' => $data['date'],                'user_id =' => $data['user_id'],                'invoice_no =' => $data['invoice_no']            );            $seller_settlement = $this->seller_settlement_model->get_seller_settlement_details($get_where);            if (empty($seller_settlement)) {                // insert amazon_fee_calculation                $this->seller_settlement_model->adddata($data, 'amazon_fee_calculation');            } else {                // update amazon_fee_calculation                $update_where = array(                    'id' => $seller_settlement['id'],                    'user_id' => $seller_settlement['user_id'],                    'date' => $seller_settlement['date'],                    'invoice_no' => $seller_settlement['invoice_no']                );                $this->seller_settlement_model->update_seller_settlement_details($data, $update_where);            }        }        fclose($fp) or die("can't close file");    }    redirect('admin/amazon_fees_detail', 'refresh');}



Model

public function adddata($data,$table){    $this->db->insert($table,$data);    $insert_id = $this->db->insert_id();    return  $insert_id;}

public function get_seller_settlement_details($get_where){    return $this->db->get_where('amazon_fee_calculation',$get_where)->row_array();}
function update_seller_settlement_details($data, $update_where) {    $this->db->where($update_where);    return $this->db->update('amazon_fee_calculation', $data);}

Popular posts from this blog

Ajax Toggle(on/off) on-click Update

Yii Framework In Update Time View Image In Form