0

我正在尝试实现一个具有 2 个级别的菜单,即程序的类别;示例:父 1:新闻 1.1:本地 1.2:国际

在此处输入图像描述

我的问题是,每次点击后,同一类别的值都会发生变化..我希望你能理解并为我的英语不好:)

一键后: 在此处输入图像描述

在 2sd 之后单击相同的项目: 在此处输入图像描述

这是我的代码

模型

public function get_categories($parent_id) {
    return $this->db->select('id,parent_id,category_title_fr,category_title_ar,categorie_trie')
                    ->from($this->table_categories)
                    ->where('parent_id', $parent_id)
                    ->order_by('parent_id')
                    ->get()
                    ->result();
}

public function get_categorieschild() {
    return $this->db->select('id,parent_id,category_title_fr,category_title_ar,categorie_trie')
                    ->from($this->table_categories)
                    ->where('parent_id','0')
                    ->get()
                    ->result();
}

控制器

    $data['cat_niveau1'] = $this->listeprogram->get_categorieschild();
    $this->load->view('templates/ar/template', $data);

看法

foreach ($cat_niveau0 as $cat0) {
    echo '<li><a href="'.base_url().'index.php/program/programme_chaine_ar/'.$cat0->id.
            '" class="menu-button menu-drop"><span class="menu-label">'.$cat0->category_title_ar.'</span></a>';
    echo '<div class="menu-dropdown menu-dropdown1"><ul class="menu-sub">';
    foreach ($cat_niveau1 as $cat1) {
        if ($cat0->id == $cat1->parent_id) {
            echo '<li><a href="'.base_url().'index.php/program/programme_chaine_ar/'.$cat0->id.'/'.$cat1->id.
                    '" class="menu-subbutton"><span class="menu-label">'.$cat1->category_title_ar.'</span></a></li>';
        }
    }
    ?>
    <?php
        echo '</ul></div></li>';
}
4

1 回答 1

1

首先,我看不到你在哪里传递 cat_niveau0。然后,您应该在控制器中创建具有两个级别的数据并将其作为多维关联数组传递,或者您可以只传递 cat_niveau0,然后在视图中

foreach ($cat_niveau0 as $cat0) {
# $cat1 = # get array through model based on cat0

}

注意:您的模型也有非常奇怪的名称:get_categories 应该是 get_categorieschild,反之亦然,也许您有点混淆了 which is which :)

于 2013-05-10T14:13:29.430 回答