无法在codeIgniter中回显数据库中检索到的值

时间:2014-12-10 12:08:31

标签: php codeigniter

我是CI的新手,我正试图从数据库中显示一些数据。我已经尝试过但它在第55行的C:\ xampp \ htdocs \ eat \ application \ views \ includes \ header.php中给出错误“致命错误:调用未定义函数get_menu()” 这是我的模特

function menu_item() {


    $this->db->select('c_name');
    $this->db->from('menu_category');
    $this->db->where('c_type', '2');
    $query = $this->db->get();
    return $result = $query->result();
}

和控制器

function menu_display()
    {
        $data   = array();
        $this->load->model('shared_model');
        $this->load->helper('url');
        $this->load->library('acl');
        $data['result'] = $this->shared_model->menu_item();
        $this->load->view('include/header', $data);
    }

并查看

<li><a href="#">Flights</a>

                        <ul>


                           <?php echo get_menu(); ?>

                            <li><a href="#">Link 02</a><span class="navarrow"></span>
                                <ul>
                                    <li><a href="#">Sub Link 01</a></li>
                                    <li><a href="#">Sub Link 02</a></li>
                                    <li><a href="#">Sub Link 03</a></li>
                                </ul>
                            </li>

                            <li><a href="#">Link 03</a><span class="navarrow"></span>
                                <ul>
                                    <li><a href="#">Sub Link 01</a></li>
                                    <li><a href="#">Sub Link 02</a></li>
                                </ul>
                            </li>
                        </ul>

2 个答案:

答案 0 :(得分:0)

在你的menu_item()函数中:

return $query->result_array();

在视图中(简化):

<?php foreach($result as $v){ echo $v['c_name'].' '; } ?>

答案 1 :(得分:-1)

你需要在这个助手中创建一个名为menu_helper.php的助手和一个名为get_menu()的函数。

该功能如下所示:

function get_menu($menu_items)
{
    if(!empty($menu_items)) {
        foreach($menu_items as $item) {
            echo $item['c_name'];
        }
    }
}

在视图中将$ result传递给get_menu函数:

get_menu($result);