作者热门文章
- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
我想使用邻接表模型简单地创建一个多级(三级深)类别层次结构。
分类表:
________________________________________________________________________
| id | parent_id | name | page_order
————————————————————————————————————————————————————————————————————————
| 1 | 0 | Home | 0
| 2 | 0 | sweets | 0
| 3 | 2 | tin sweet | 0
| 4 | 3 | tin rasugulla | 0
| 5 | 2 | kaju katri | 0
| 6 | 2 | ras malai | 0
————————————————————————————————————————————————————————————————————————
我的结果应该是这样的(根据上表):
但我得到的输出几乎没有什么不同:
这是我的 codeigniter 代码:
public function get_nested(){
// fetching categories from table
$this->db->order_by($this->_order_by);
$pages = $this->db->get($this->_table_name)->result_array();
// now creating category tree
foreach ($pages as $page){
if ($page['parent_id'] == 0){
$array[$page['id']] = $page;
}else {
$array[$page['parent_id']]['children'][$page['id']] = $page;
}
}
return $array;
}
查询结果截图:var_dump($pages);
var_dump($array)
快照:
下面是创建输出列表的代码:
function toUL($array)
{
$html = '<ul>' . PHP_EOL;
foreach ($array as $value)
{
$html .= '<li>' . $value['title'];
// do we have any children?
if (isset($value['children']) && count($value['children'])){
$html .= toUL($value['children']);
}
$html .= '</li>' . PHP_EOL;
}
$html .= '</ul>' . PHP_EOL;
return $html;
}
我上面的代码给我通知错误:未定义索引:标题
最佳答案
问题是您的嵌套代码引用了 $array 中不存在的 ID。
对于“tin rasugulla”,parent_id = 3,它不存在于 $array 的根级别,因此它被创建,而实际上它应该尝试找到 ID 为 3 的父级,它位于“sweets”之下.
这应该有效:
public function get_nested(){
// fetching categories from table
$this->db->order_by($this->_order_by);
$pages = $this->db->get($this->_table_name)->result_array();
// now creating category tree
foreach ($pages as $page){
if ($page['parent_id'] == 0){
$array[$page['id']] = $page;
} elseif (isset($array[$page['parent_id']])) {
$array[$page['parent_id']]['children'][$page['id']] = $page;
} else {
foreach ($array as $root_id => $parent) {
if (isset($parent['children'][$page['parent_id']])) {
$array[$root_id]['children'][$page['parent_id']]['children'][$page['id']] = $page;
}
}
}
}
return $array;
}
关于php - 面对多级类别层次结构中的一些问题,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/29317475/
我正在尝试将多个水平链接的 Button 和 TextView 垂直链接为 View 集,但仍保持平面 View 层次结构。这是我的初始布局和代码:
到目前为止,我已经在Google BigQuery上训练了几种模型,目前我需要查看模型的外观(即架构,损失函数等)。 有没有办法获取这些信息? 最佳答案 仔细阅读文档后,我可以说该功能尚不存在。我什至
本文实例讲述了PHP实现二叉树深度优先遍历(前序、中序、后序)和广度优先遍历(层次)。分享给大家供大家参考,具体如下: 前言: 深度优先遍历:对每一个可能的分支路径深入到不能再深入为止,而且每个
我是一名优秀的程序员,十分优秀!