【问题标题】:adding category and its subcategories in html select在 html select 中添加类别及其子类别
【发布时间】:2017-09-22 21:03:33
【问题描述】:

我正在尝试添加父类别,然后将其子类别添加为 select 中的选项,所以我做了以下操作

<select class="form-control" name="select">
    <?php foreach($father as $father) : ?>
    <option value="<?php echo $father->id; ?>">
        *Category: <?php echo $father->name."   :-"; ?>
    </option><?php foreach($child as $child) : ?><?php if($child->category_id==$father->id){?>
    <option value="<?php echo $child->id; ?>">
        -Sub-Category: <?php echo $child->name; ?>
    </option><?php } endforeach; ?><?php endforeach; ?>
</select>

这是我的控制器

 public function addg()
{
            $this->load->model('catagories_model');
             $data['userdata'] = $this->session->all_userdata();
               $data['father'] = $this->catagories_model->get_catagories();
         $data['child'] = $this->catagories_model->get_catagories_child();
    $this->load->view('catagories/grand/add', $data);
}

但它会循环到第一个父亲类别并显示其子类别并仅显示其他父亲类别而不进入 if 语句有什么问题?

【问题讨论】:

    标签: php html codeigniter codeigniter-2


    【解决方案1】:

    这条线没有做任何事情:

    <?php foreach($child as $child) : ?>
    

    应该是:

    <?php foreach($childs as $child) : ?>
    

    假设 $childs 是您存储所有子类别的数组。

    【讨论】:

    • 不,数组名称是孩子而不是孩子我在上面添加了我的控制器
    • 重点是,如果我没有说清楚,很抱歉,您在两个foreach 语句中对数组和值使用相同的变量名,这会导致意外结果.试着把它们改成这样:&lt;?php foreach($parent as $parentValue ?&gt;&lt;?php foreach($child as $childValue ?&gt;
    • 奇怪的是,经过 10 个小时的尝试,它起作用了:D 谢谢你
    • @AmrMagdy 不客气。以后,在 foreach 中的值总是使用不同的变量名,这样就可以避免这个问题。
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2020-10-28
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多