1

我不知道我的逻辑是否不正确,但我无法让我的 form_dropdown(下拉列表)列表填充数据库中的数据。

我得到的错误是未定义的属性:stdClass::$name。

代码如下。

我的数组在 $appertisers 时 print_r($appertisers);

Array ( [0] => stdClass Object ( [product] => Marinated mixed olives ) [1] => stdClass Object ( [product] => Simons ) [2] => stdClass Object ( [product] => Test ) ) 

看法

            $array = array();
            foreach($appertisers as $row ){
                    $array = $row->name;
            }
            echo form_dropdown('appetisers',  $array);

    ?>

模型

    class Get_data extends CI_Model{
    function getAppertisers(){
        $query = $this->db->query("SELECT product FROM products WHERE cat = 1");
        return $query->result();
    }
}

控制器

public function index()
{
    $this->load->helper('url');
    $data = array();

    $this->load->model("get_data");
    $data['appertisers']  = $this->get_data->getAppertisers();

    $this->load->view('header');
    $this->load->view('content_contact', $data);


}
4

2 回答 2

5

您需要将该行添加到数组中,并引用该product属性,因为没有name属性。您目前只是重新分配它:

foreach($appertisers as $row ){
    $array[] = $row->product;
}
于 2013-03-14T16:59:19.047 回答
0

你的模型应该是:

class Get_data extends CI_Model
{
    function getAppertisers()
    {
        $this->db->where('cat', 1);
        $query = $this->db->get('products');
        if($query->num_rows() > 0)
        {
            foreach($query->result() as $row)
            {
                $data[] = $row->product;
            }
            return $data;
        }
    }
}

你的看法:

<?php echo form_dropdown('appertisers', '$appertisers', 'set_value('appetisers')'); ?>
于 2014-06-29T15:06:52.697 回答