巧妙的使用数据库实现无限极分类

没有评论

2011 年 02 月 21 日 at 下午 4:39分类:PHP | WEB开发

利用数据库巧妙的实现无限极分类的效果
//实现无限分类

function shoptype_cache(){

	global $_SGLOBAL;
	$_SGLOBAL['shoptype'] = array();
	// 从数据库获取
	$query = $_SGLOBAL['db']->query("SELECT * FROM " . tname("shop_type") . " ORDER BY t_order");
	while($value = $_SGLOBAL['db']->fetch_array($query)){
		$_SGLOBAL['shoptype'][$value['t_id']] = $value;
	}
	//$_SGLOBAL['shoptype']是一个很平常的二维数组;
	$_SGLOBAL['shoptype']=treedata($_SGLOBAL['shoptype']);

}

//按照类别进行商品分类顺序的递归
//这一步的处理的是最核心的

function treedata($data, $fid = "0") {
	global $arr8;
	foreach ( $data as $v ) {
		if ($v ['t_fid'] == $fid) {
			$arr8[] = $v;
			if (count ( $arr8 ) !== count ( $data )) {
				treedata ( $data, $v ['t_id'] );
			}
		}
	}
	return $arr8;
 }

效果图: