php 无限分类 设计,php无限极分类设计模型代码小结

php无限极分类是经常要用到的,一个简单的php无限极分类的代码如下:

数据表结构

CREATE TABLE IF NOT EXISTS `category` (

`id` int(5) NOT NULL AUTO_INCREMENT COMMENT '唯一自增id',

`pid` int(5) NOT NULL DEFAULT '0' COMMENT '父id',

`sort` int(2) NOT NULL DEFAULT '0' COMMENT '排序数字',

`name` varchar(30) DEFAULT NULL COMMENT '名称',

PRIMARY KEY (`id`)

) ENGINE=MyISAM DEFAULT CHARSET=utf8 COMMENT='无限极分类表' AUTO_INCREMENT=1 ;

数据

INSERT INTO `category` (`id`, `pid`, `sort`, `name`) VALUES

(1, 0, 1, 'php'),

(2, 0, 2, '数据库'),

(3, 0, 3, 'javascript'),

(4, 1, 1, '框架模板'),

(5, 1, 2, '函数总结'),

(6, 2, 1, 'mysql'),

(7, 4, 1, '框架'),

(8, 4, 2, '模板'),

(9, 8, 1, 'smarty'),

(10, 7, 2, 'thinkphp'),

(11, 10, 1, 'thinkphp技巧'),

(12, 10, 2, 'thinkphp模板'),

(13, 12, 3, '模板知识总结'),

(14, 12, 2, '模板视频教程'),

(15, 11, 1, 'model技巧');

函数实现代码

function tree(&$list,$pid=0,$level=0,$html='--'){

static $tree=array();

foreach($list as $v){

if($v['pid']==$pid){

$v['level']=$level;

$v['html']=str_repeat($html,$level);

$tree[]=$v;

tree($list,$v['id'],$level+1,$html);

}

}

return $tree;

}

以上tree函数的第一个参数$list就是获取的如上表的一个二维数组的结果集。需要注意的是从数据库获取结果集的sql语句必须加上order by sort asc,否则sort字段将不能发挥排序的作用。

本文原创发布php中文网,转载请注明出处,感谢您的尊重!

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值