乐杨俊
<?php
class categoryTable extends mysqlDB {
protected $table_name = 'category';
protected $fields;
/**
* 获得商品分类列表数据
* @return array array(array(1, '手机配件', 50, 0), array(3, '充值卡', 50, 0), ....);
*/
public function getList() {
//获得所有数据
$query = "select * from cz_category where 1";
$rows = $this->getAll($query);
return $this->getTree($rows, 0);
}
/**
* 完成在 所有数据内进行 按照 级别关系进行查找的方法
* 每找到一个 放入某个地方保存,当所有的分类都找到后,
* 意味着 排序完成
* @param $arr 所有的数组元素,我们需要在这个数组内找到某个级别的元素。
* @param $parent_id 当前所查找的父分类的ID
* @return array 将$arr内所有的元素都排好的一个数组
*/
public function getTree($arr, $parent_id) {
//因为涉及到递归调用,需要开辟一个空间 在所有的递归调用的方法内
//全都能够访问
static $tree = array();
//在$arr内 查找以$parent_id为父分类ID的数据
//遍历所有的 $arr内元素
foreach($arr as $row) {
//判断parent_id字段是否是 $parent_id
if($row['parent_id'] == $parent_id) {
//找到当前$parent_id下的子分类了。
$tree[] = $row;
//应该先去找 当前分类的子分类
$this->getTree($arr, $row['category_id']);
}
}
//返回查找结果
return $tree;
}
}