【问题标题】:Load data in a Codeigniter view在 Codeigniter 视图中加载数据
【发布时间】:2014-02-14 09:59:44
【问题描述】:

我想将数据加载到我的视图中,尤其是我的控制器items 中的一个变量。 但在我的控制器中,我想动态设置 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(); ?>  

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

问题是根据是否使用选择框来更改视图数据“项目”。

我该如何解决这个问题?

【问题讨论】:

    标签: php forms codeigniter templates


    【解决方案1】:

    在if条件之前做这行

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

    删除控制器中的以下行。

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

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

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2011-10-07
      • 2014-10-18
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多