【问题标题】:A Foreach loop for a join table in CodeigniterCodeigniter 中连接表的 Foreach 循环
【发布时间】:2013-11-22 19:27:14
【问题描述】:

我正在尝试使用 Codeigniter 构建动态子导航。我已经成功地构建了一个动态主导航,但似乎无法通过连接表中的数据进行循环。在下面的代码中,我知道我没有正确使用 Foreach 作为子菜单,但有人可以帮助我或至少为我指明正确的方向。

非常感谢您

我正在像这样在视图中加载 foreach 循环

foreach ($query->result() as $row) {
        $page_menu = $row->page_menu;
        $page_menuName = base_url().$row->url;

        //If page_menu is in database 1, show main menu item
        if ($page_menu == '1') {
            echo anchor($page_menuName, $row->page_headline)."<br/>";

        }
    }

    if ($page_id == $webpage_id)
    {
               // I WANT THIS PART TO LOOP. THIS IS DATA FROM THE JOIN TABLE
                foreach ($query->result() as $row) {
                     echo $subpage_id. "<--SUBID-  " .$webpage_id. "<--- webpage id-  ".$subpage_headline. "<--subheadline <br/><br/>";
               }

    }

这是控制器:

                    $this->load->module('webpages');
        $query = $this->webpages->get_where_custom('url', $first_bit); 

        foreach ($query->result() as $row) {
            $data['id'] = $row->id;
            $data['headline'] = $row->headline;
            $data['url'] = $row->url;
            $data['content'] = $row->content;
            $data['page_menu'] = $row->menu;
            $data['sub_id'] = $row->sub_id;
            $data['webpage_id'] = $row->webpage_id;
            $data['sub_headline'] = $row->sub_headline;
        }

这是模型:

function get_where_custom($col, $value) {
    $table = $this->get_table();
    $this->db->where($col, $value);
    $this->db->join('subpages', 'subpages.webpage_id = webpages.id', 'left');
    $query=$this->db->get($table);
    return $query;
}

我的桌子:

网页

身份证, 标题, 标题, 网址, 内容, page_menu

子页面

sub_id, subpage_headline, 子页面标题, subpage_url, 子页面内容, 网页ID, sub_headnav

【问题讨论】:

  • 即使get_where_custom 不是自定义的而是固定的,如果您在此处布置两个表格以供我们查看会有所帮助。
  • 您好,感谢您的回复。我已经添加了表格供您查看。希望你能想出办法或建议我。谢谢

标签: php codeigniter join foreach


【解决方案1】:

您的代码:

 if ($page_id == $webpage_id)

不在你的 foreach 循环内,是一回事。我知道您说“我知道我没有正确使用 Foreach 作为子菜单”,但如果您在发布之前不修复您已经知道的位,我们真的很难帮助您。不知道我上面说的是不是你的问题

【讨论】:

  • +1 我同意这个评论,it's really hard for us to help you if you don't fix the bits you already know about before posting
猜你喜欢
  • 1970-01-01
  • 2016-02-21
  • 2021-11-18
  • 2019-01-14
  • 2020-08-23
  • 2015-10-30
  • 1970-01-01
  • 2019-03-24
  • 2021-05-12
相关资源
最近更新 更多