Logo Questions Linux Laravel Mysql Ubuntu Git Menu
 

insert data into database with codeigniter

Trying to insert a row into my database with CodeIgniter.

My database table is Customer_Orders and the fields are CustomerName and OrderLines. The variables are being submitted correctly.

My Controller is( sales.php ):

function new_blank_order_summary() 
  {
      $data = array(
        'OrderLines'=>$this->input->post('orderlines'),
        'CustomerName'=>$this->input->post('customer')
          );
     $this->sales_model->order_summary_insert($data);

    $this->load->view('sales/new_blank_order_summary');
  }

My Model is( sales_model.php ):

function order_summary_insert($data){
    $this->db->insert('Customer_Orders',$data);
}

Whilst the view loads correctly, no data is inserted into the database.

Any ideas as to why not?

like image 417
Smudger Avatar asked Apr 12 '13 10:04

Smudger


People also ask

Can I use Mongodb with CodeIgniter?

CodeIgniter4 is a modern PHP framework. Combining it with MongoDB's document model allows you to create modern data-driven web applications with ease.


2 Answers

Try this in your model:

function order_summary_insert()
    $OrderLines=$this->input->post('orderlines');
    $CustomerName=$this->input->post('customer');
    $data = array(
        'OrderLines'=>$OrderLines,
        'CustomerName'=>$CustomerName
    );

    $this->db->insert('Customer_Orders',$data);
}

Try to use controller just to control the view and models always post your values in model. it makes easy to understand. Your controller will be:

function new_blank_order_summary() {
    $this->sales_model->order_summary_insert($data);
    $this->load->view('sales/new_blank_order_summary');
}
like image 76
Nilesh Mahajan Avatar answered Sep 17 '22 18:09

Nilesh Mahajan


It will be better for you to write your code like this.

In your Controller Write this code.

    function new_blank_order_summary() {
     $query = $this->sales_model->order_summary_insert();
     if($query) {
        $this->load->view('sales/new_blank_order_summary'); 
    } else {
        $this->load->view('sales/data_insertion_failed');
    }
  }

and in your Model

function order_summary_insert() {
    $orderLines = trim(xss_clean($this->input->post('orderlines')));
    $customerName = trim(xss_clean($this->input->post('customer')));
    $data = array(
        'OrderLines'=>$orderLines,
        'CustomerName'=>$customerName
    );

    $this->db->insert('Customer_Orders',$data);
    return ($this->db->affected_rows() != 1) ? false : true;
}
like image 26
Mohammad Naim Dahee Avatar answered Sep 19 '22 18:09

Mohammad Naim Dahee