如何将多个可变数据从模型传递到视图

时间:2011-12-27 21:46:35

标签: codeigniter codeigniter-2

如果我想通过我的模型中的控制器将以下可变数据($ amount1,$ amount2,$ amount3)传递给我的视图文件,请告诉我我的模型,控制器和视图应该是什么样子。

 case 1: $amount1=100;

 case 2: $amount2=500;

 case 3: $amount3=1000;

我想让变量以我无需在任何{}示例中回显它们的方式:

 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;?>
 }

提前致谢:)

2 个答案:

答案 0 :(得分:3)

如果将控制器中的数据数组传递给视图,则可以在视图中将每个元素作为变量进行访问。这是我的意思的一个例子:

模型:

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

        return $data;
    }
}

控制器:

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

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

视图:

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

答案 1 :(得分:0)

我自己找到了解决方案。我只是想分享,以便它可以帮助别人。所以这就是......

您的模型应如下所示:

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

    return json_encode($data);
    } 

你的控制器:

 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);

    }

然后在你的视图文件中:只是

      <? echo "$amount" ; ?>

谢谢:)