首页 文章

在Codeigniter视图中加载数据

提问于
浏览
3

我想将数据加载到我的视图中,尤其是我的控制器中的变量 items . 但是在我的控制器中,我想在推送到视图之前动态设置 items .

我尝试了下面的代码,但它不起作用 . 视图加载错误“Undefined variable:items” .

public function index(){
    if ($this->input->post('filter'))
    {
        $search = $this->input->post('filter');
        $test=$this->upload_model->test_r(); 
        $data['items']=$test;
    }
    else
    {
        $data['items']=$one;
    }
    $data=array ('other'=>$othrs, 'links'=>$links);
    $this->load->view('gallery_view', $data);
}

我希望如何工作是 $data['items'] 默认设置为 $one ,当页面加载时,但在页面上我有一个选择框,所以我希望如果更改选择框, $data['items'] 将被设置为别的 . 但这只是在使用选择框时,否则应该使用 $data[items]=$one 查找 . $ data数组具有需要在视图中加载的其他值,例如"others"和"links" .

我视图上的选择框

<?php echo form_open(base_url().'page') ?>
<form class="form-inline" role="form">
    <select class="form-control" id="filter" name="filter" onchange="this.form.submit()">
        <option value="1">1</option>
        <option>2</option>
        <option>3</option>
    </select>
</form>
<?php echo form_close(); ?>

上面的索引控制器功能适用于我的控制器“Pages” . 选择框中的值被捕获得很好,当我对传递的值进行回显时,它会正确显示 .

问题是根据是否使用选择框使视图数据“项目”发生变化 .

我该如何解决?

1 回答

  • 1

    如果有条件,请执行此行

    $data=array ('other'=>$othrs, 'links'=>$links,'items'=>"");
    

    删除控制器中的以下行 .

    $data=array ('other'=>$othrs, 'links'=>$links);
    

    因为在设置 $data["items"] 后重新分配 $data

相关问题