Matt Leyland
Matt Leyland

Reputation: 2329

CodeIgniter - Load View after Update

After I have updated a customer (which works fine)

public function update($customer_acc) {

if($this->session->userdata('logged_in'))
 {

    $id= $this->input->post('did');
    $data = array(
    'customer_name' => $this->input->post('dname')
    );
    $this->load->model('update_model');
    $this->update_model->update_customer($id,$data);
 }
else
{
  //If no session, redirect to login page
 redirect('login', 'refresh');
}
}

How can i then load back the view customer function. What i need is after the update has been completed so then go back to viewing the customer.

public function view($customer_acc) {

if($this->session->userdata('logged_in'))
{

$this->load->model('display_single_customer');
$customers = $this->display_single_customer->view_single_customer($customer_acc);
$data['customer_acc'] = $customers['customer_acc'];
$data['customer_name'] = $customers['customer_name'];

$this->load->view('customers_single_view', $data);
}
else
{
  //If no session, redirect to login page
  redirect('login', 'refresh');
}
}

Upvotes: 0

Views: 393

Answers (2)

cartalot
cartalot

Reputation: 3148

you just exit to another method in your controller to show the new page. for passing the id you can either pass it directly

 if ( some condition ) {

    $id = $this->input->post('did', TRUE);

   // blah blah blah    
   // success -- now go to show customer method

   $this->showCustomer($id)  ; } 


   function showCustomer($id){

      // get the customer to display using the $id that was passed    
      $customers = $this->display_single_customer->view_single_customer($id);

OR you can declare the id with $this-> and then it is available to any method in the controller

   $this->id = $this->input->post('did', TRUE);

   // blah blah

  $this->showCustomer()  ; }


 function showCustomer(){

 // get the customer to display using $this->id     
 $customers = $this->display_single_customer->view_single_customer($this->id);

 // etc etc 

Upvotes: 1

Matt Leyland
Matt Leyland

Reputation: 2329

I think i may have sussed it I can use a redirect using the $id which is the customer account number

redirect("/customers/view/$id");

Is this the correct way, It works but is it best practice ?

Upvotes: 0

Related Questions