【发布时间】: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