black_belt
black_belt

Reputation: 6799

How to pass multiple variable data from model to view

Could you please tell me how my model,controller and view should look like if I want to pass the following variable data($amount1, $amount2, $amount3) to my view file via controller from my model.

 case 1: $amount1=100;

 case 2: $amount2=500;

 case 3: $amount3=1000;

I want to have the variables in a way that I don't have to echo them in any { } example:

 foreach ($records as $row){ $i++; ?>
 // I don't want to echo those inside in this. 
//   I want to echo it like this way- <? echo $amount1;?>
 }

Thanks in Advance :)

Upvotes: 1

Views: 4499

Answers (2)

black_belt
black_belt

Reputation: 6799

I have found a solution myself. I just wanted to share so that it can help others. So here it is..

Your model should look like following :

function net_income(){
    $data['amount1']=50;
    $data['amount2']=100;

    return json_encode($data);
    } 

Your controller:

 function add(){

    $this->load->model('mod_net_income');
    $json = $this->mod_net_income->net_income();

    $obj = json_decode($json);
    $data['amount1']= $obj->{'amount1'};  

           $this->load->view('your_viewfile_name',$data);

    }

And then in your view file: just

      <? echo "$amount" ; ?>

Thanks :)

Upvotes: 0

birderic
birderic

Reputation: 3765

If you pass an array of data from your controller to your view you can access each element as a variable in the view. Here is an example of what I mean:

model:

class Model extends CI_Model
{
    public function get_data()
    {
        $data = array(
            'amount1' => 100,
            'amount2' => 500,
            'amount3' => 1000,
        );

        return $data;
    }
}

controller:

class Controller extends CI_Controller
{
    public function index()
    {
        // get data from model
        $data = $this->model->get_data();

        // load view
        $this->load->view('view', $data);
    }
}

view:

<h1><?php echo $amount1; ?></h2>
<p><?php echo $amount2; ?></p>
<!-- etc... -->

Upvotes: 3

Related Questions