php递归实现树状分类结构

如果设计一个递归的树状结构只需简单的分类数据库结构就可以了

php递归实现树状分类结构_第1张图片


实际树状结构在Model层和view层实现相应的业务逻辑就可以了

Model层代码(tree函数主要实现了递归思想):

table}";
		$cats = $this->db->getAll($sql);
		return $this->tree($cats);
	}

	//定义一个方法,用于形成树状结构
	/**
	* @param $arr array 给定数组
	* @param $pid int 指定从哪个节点开始找
	* @return array 构造好的数组
	*/
	public function tree($arr, $pid = 0, $level = 0){
		static $tree = array();
		foreach($arr as $v){
			if($v['parent_id'] == $pid){
				$v['level'] = $level;
				$tree[] = $v;
				$this->tree($arr, $v['cat_id'], $level + 1);
			}
		}
		return $tree;
	}
}

controller实现业务跳转:

class CategoryController extends Controller{
	//显示商品分类
	public function indexAction(){
		$categoryModel = new CategoryModel("category");
		$cats = $categoryModel->getCats();
		//载入显示页面
		include CUR_VIEW_PATH . "cat_list.html";
	}


view层显示逻辑:




SHOP 管理中心 - 商品分类 






添加分类 SHOP 管理中心 - 商品分类

分类名称 商品数量 数量单位 是否显示 排序 操作
0 转移商品 | 编辑 | 移除





你可能感兴趣的:(php-php技术)