递归无限分类笔记

最近项目都上线了每天巩固一下php知识,下面是关于递归无限分类的比较供大家参考!

创新互联公司长期为近1000家客户提供的网站建设服务,团队从业经验10年,关注不同地域、不同群体,并针对不同对象提供差异化的产品和服务;打造开放共赢平台,与合作伙伴共同营造健康的互联网生态环境。为紫阳企业提供专业的网站设计、网站建设,紫阳网站改版等技术服务。拥有10多年丰富建站经验和众多成功案例,为您定制开发。

数据库一个表就可以了,增加一个parendid字段 也就是子级分类 ,排序大家也可以加一下字段.

CREATE TABLE `category` (
  `id` int(11) NOT NULL,
  `name` varchar(255) CHARACTER SET utf8 DEFAULT NULL,
  `sort_order` int(11) DEFAULT NULL,
  `parendid` int(11) DEFAULT NULL,
  PRIMARY KEY (`id`)
) ENGINE=InnoDB DEFAULT CHARSET=latin1;
-- ----------------------------
-- Records of category
-- ----------------------------
INSERT INTO `category` VALUES ('1', '手机', null, '0');
INSERT INTO `category` VALUES ('2', '家电', null, '0');
INSERT INTO `category` VALUES ('3', '家具', null, '0');
INSERT INTO `category` VALUES ('4', '诺基亚', null, '1');
INSERT INTO `category` VALUES ('5', '苹果', null, '1');
INSERT INTO `category` VALUES ('6', '电冰箱', null, '2');
INSERT INTO `category` VALUES ('7', '电视机', null, '2');
INSERT INTO `category` VALUES ('8', '柜子', null, '3');
INSERT INTO `category` VALUES ('9', '桌子', null, '3');
INSERT INTO `category` VALUES ('10', '诺基亚3310', null, '4');
INSERT INTO `category` VALUES ('11', '苹果8s', null, '5');
INSERT INTO `category` VALUES ('12', '海尔电冰箱', null, '6');
INSERT INTO `category` VALUES ('13', '长虹电视机', null, '7');
INSERT INTO `category` VALUES ('14', '红木柜子', null, '8');
INSERT INTO `category` VALUES ('15', '红木桌子', null, '9');

php代码部分

$rows){
     if($rows['parendid'] == $parendid){
         //深度字段 次字段来作为分级的标准
         $rows['deep'] =$deep;
         $tree[] = $rows;
         createTree($list,$rows['id'],$deep+1);
     }
    }
  return $tree;
}
echo '
';
$tmp= createTree($array);
foreach ($tmp as $rows){
    echo str_repeat(' ',$rows['deep']*2),$rows['name'],'
'; } //print_r ($tmp); ?>

名称栏目:递归无限分类笔记
转载来于:http://azwzsj.com/article/pjesci.html