php - 在 Codeigniter View 中加载数据

标签 php forms codeigniter templates

我想将数据加载到我的 View 中,尤其是我的 Controller items 中的一个变量。 但是在我的 Controller 中,我想在将它推送到 View 之前动态设置 items 是什么。

我尝试了下面的代码,但它不起作用。 View 加载时出现错误“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 数组还有其他需要加载到 View 中的值,例如“others”和“links”。

我 View 中的选择框

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

上面的索引 Controller 函数是针对我的 Controller “Pages”的。选择框中的值被很好地捕获,当我对传递的值进行回显时,它会正确显示。

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

我该如何解决这个问题?

最佳答案

在if条件之前执行这一行

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

在 Controller 中删除下面的行。

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

因为你在设置$data["items"]后重新赋值$data

关于php - 在 Codeigniter View 中加载数据,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/21315211/

相关文章:

php - 使用 Codeigniter 的 FTP 镜像创建文件夹,但没有上传文件

php - Paypal 金库卡数据重复

php - 多种功能的交易

php - 在mysql中连接三个表

php - 良好的形式安全 - 没有验证码

css - 表单在 Internet Explorer 中根本没有样式 - CSS 不显示

python - Django-根据查询集生成表单

php - CodeIgniter - 从本地主机连接时出现数据库错误

php - 以整数形式返回 result_array() 元素之一

php - Codeigniter和Oracle获取插入查询的last_id