Warning: file_get_contents(/data/phpspider/zhask/data//catemap/6/codeigniter/3.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Php CodeIgniter 3-从2 db';s_Php_Codeigniter_Model View Controller - Fatal编程技术网

Php CodeIgniter 3-从2 db';s

Php CodeIgniter 3-从2 db';s,php,codeigniter,model-view-controller,Php,Codeigniter,Model View Controller,很抱歉我的问题像内比,但我在这里尝试学习很多,新的MVC和CodeIgniter 我有一个简单的积垢,我正在建设,但我觉得什么是一个非常简单的事情,如果你知道你在做什么困惑 我有一个视图,用于将数据库中的轮胎更新到“轮胎”表中。在这个视图中,我想显示一个品牌下拉列表,这些品牌保存在单独的db表“Brands”中。在我的模型中,我有一类轮胎,其中我有一个功能: public function get_tyres($id = FALSE) { if ($id === FALSE) { $qu

很抱歉我的问题像内比,但我在这里尝试学习很多,新的MVC和CodeIgniter

我有一个简单的积垢,我正在建设,但我觉得什么是一个非常简单的事情,如果你知道你在做什么困惑

我有一个视图,用于将数据库中的轮胎更新到“轮胎”表中。在这个视图中,我想显示一个品牌下拉列表,这些品牌保存在单独的db表“Brands”中。在我的模型中,我有一类轮胎,其中我有一个功能:

public function get_tyres($id = FALSE)
{
if ($id === FALSE)
{
    $query = $this->db->get('tyres');
    return $query->result_array();
}
$query = $this->db->get_where('tyres', array('id' => $id));
return $query->row_array();
}
这允许我访问控制器中的轮胎数据,并使用以下方式将数据发送到视图:

$data['tyres_item'] = $this->tyres_model->get_tyres($id);
$this->load->view('tyres/update', $data);
echo form_dropdown('brands', $brands);
在我看来,我访问$data['tires\u item'],以便可以用db数据预先填充表单

但是

如何从db访问品牌数据,以建立我视图中所有品牌的下拉列表? 我有单独的品牌型号和控制器,但我无法在视图中访问它们

我试着加上

$data['brands'] = $this->brands_model->get_brands();
在我的轮胎控制器中更新功能,但我知道这是成功的;我不能工作,因为我在轮胎控制器内,而不是品牌控制器内

我如何才能做到这一点,我知道我一定错过了一些简单的东西

以下是我的观点:以及我想要实现的目标:

     echo form_open('tyres/update');
    ?>

    <label for="tyre">Tyre</label>
    <input type="input" name="tyre"  value="<?=$tyres_item['tyre']?>" />

    <label for="brand">Brand</label>
<?php
    echo form_dropdown('brands', $data['brands']);
?>
但它返回一个数组,因此我添加了以下内容:

echo form_dropdown('brands', $brands['brand']);
然后,这将错误地指出:

Message: Undefined index: brand
我又卡住了! 救命。

明白了

我需要循环查看db结果,然后将其添加到form_下拉列表中:

foreach($brands as $brand)
    {
            $brand_list[$brand['id']] = ucfirst(htmlspecialchars($brand['brand']));
    } 

echo form_dropdown('brands', $brand_list, $tyres_item['brand']);

这可能对某人有所帮助。

使用
echo表单下拉列表('brands',$brands['COLUMN\u NAME')谢谢,我已经尝试过了,我得到了:未定义变量:品牌