如何在控制器中的其他功能中传递其他数据以使用CI进行查看

时间:2017-07-07 08:43:52

标签: codeigniter templates

如何将查询中的值传递给CI中的同一视图。我遇到这样的情况:

public function index() {
  $myinfo = $this->Myprofile_model->mydata();
  $data['myinfo'] = $myinfo
  $this->load->view('header');
  $this->load->view('myprofile',$data);
  $this->load->view('footer');
}

public function getResults($id) {
 $fetchdata = $this->Myprofile_model->fetchresult($id);
 $data['userselect'] = $fetchdata;
 $this->load->view('myprofile',$data);
}

我已经在索引中加载了我的整个页面。现在我想为我的按钮创建另一个函数,这是我的控制器中的getResults($id)函数,我想将我的另一个数据从数据库显示到同一页面。当我执行顶部代码时,我的视图是重复的,因为我加载了$this->load->view('myprofile',$data);两次。

2 个答案:

答案 0 :(得分:0)

1:创建辅助函数并在视图页面上使用该函数。

   OR

如果你想要单个id的记录,那么将两个函数合并为一个。 如果有很多ID,并且您想要为每个id获取点击记录,那么您可以使用ajax。

$( document ).ready(function() {
        $('.class_name').click(function(){
            // place your code here to fetch records.
            // on success you can display the result on same page 
        })
    });

答案 1 :(得分:0)

我不清楚但是这里是控制器在视图上加载多个数据:

public function index($id) {
  $myinfo = $this->Myprofile_model->mydata();
  $fetchdata = $this->Myprofile_model->fetchresult($id);

  $this->load->view('header');
  $this->load->view('myprofile',['myinfo'=>$myinfo,'fetchdata'=>$fetchdata]);
  $this->load->view('footer');
}

您可以使用

$this->load->view('myprofile',['myinfo'=>$myinfo,'fetchdata'=>$fetchdata,'third_data'=>$third_data.. as many as you like]);

在您的代码中,您将id传递给getResults函数,因此如果您想从此函数加载数据,您可以使用此函数执行相同操作。或者将id传递给相同的索引函数以获得结果。