求助,我后台有一个无限级分类树菜单表,我在前台调用此表,怎么才有级数地调用出来
本帖最后由 xiachao2008 于 2012-05-28 18:47:53 编辑
我要实现就像这样的效果 http://www.tmall.com/?spm=1.1000386.220593.1&TBG=146280.176778.1
我要实现就像这样的效果
我应该怎么做呢,我做了以下工作
(本文来)源gaodaimacom搞#^代%!码&网(
搞gaodaima代码
我后台的无限分类树表
<br /><br />CREATE TABLE IF NOT EXISTS `www.dianxin.com`.`dx_gd_type` (<br /> `t_id` INT(11) NOT NULL AUTO_INCREMENT COMMENT '分类ID\n' ,<br /> `t_name` VARCHAR(120) NULL COMMENT '购物名称分类\n' ,<br /> `t_family_id` varchar(11) NOT NULL DEFAULT '00000000' COMMENT ' 父ID,顶级分类默认为0\n' ,<br /> `t_orders` SMALLINT(5) NULL COMMENT '购物分类排序\n' ,<br /> `t_remark` varchar(50) NULL COMMENT '备注\n' ,<br /> PRIMARY KEY (`t_id`) )<br />ENGINE = MyISAM DEFAULT CHARSET=utf8<br />COMMENT = '点心购物类型表\n';<br />
注: t_family_id分类这样的,(存的是下面这种规律的数字)
<br />10 代表衣服<br />20 代表数码<br />30 代表家具<br /><br />二级分类<br />1001 代表男式衣服<br />1002 代表女式衣服<br /><br />三级分类<br /><br />100201 代表女式内衣<br />100202 代表女式……<br />
要实现像上图的效果,我应该怎么写这个调用代码呢?
分享到: 更多
——解决方案——————–
本帖最后由 xuzuning 于 2012-05-28 19:18:23 编辑
<br />//从数据库很容易得到这样的数组<br />$ar = array(<br /> array('10', '代表衣服'),<br /> array('20', '代表数码'),<br /> array('30', '代表家具'),<br /> array('1001', '代表男式衣服'),<br /> array('1002', '代表女式衣服'),<br /> array('100201', '代表女式内衣'),<br /> array('100202', '代表女式……'),<br />);<br /><br />//分解出分类的层次<br />$r = array();<br />foreach($ar as $v) {<br /> $p =& $r;<br /> foreach(str_split(array_shift($v), 2) as $k) {<br /> if(! isset($p[$k])) $p[$k] = array();<br /> $p =& $p[$k];<br /> }<br /> $p['value'] = $v;<br />}<br /><br />print_r($r);<br />
得到了这样数组,接下来就太容易了吧
Array
(
[10] => Array
(
[value] => Array
(
[0] => 代表衣服
)[01] => Array
(
[value] => Array
(
[0] => 代表男式衣服
))
[02] => Array
(
[value] => Array
(
[0] => 代表女式衣服
)[01] => Array
(搞代码网(gaodaima.com)提供的所有资源部分来自互联网,如果有侵犯您的版权或其他权益,请说明详细缘由并提供版权或权益证明然后发送到邮箱[email protected],我们会在看到邮件的第一时间内为您处理,或直接联系QQ:872152909。本网站采用BY-NC-SA协议进行授权
转载请注明原文链接:,小弟我后台有一个无限级分类树菜单表,小弟我在前台调用此表,如何才有级数地调用出来