php+mysql实现无限级分类 | 树型显示分类关系


Posted in PHP onNovember 19, 2006

无限级分类,主要是通过储存上级分类的id以及分类路径来实现。由于数据的结构简单,所以要将分类的关系由树状显示,我只能想到用递归的方式给于实现。 

无限级分类,主要是通过储存上级分类的id以及分类路径来实现。由于数据的结构简单,所以要将分类的关系由树状显示,我只能想到用递归的方式给于实现,下面是分类数据表结构和自己写的一个树状显示函数,有什么不妥的地方希望大家能指出。 
表结构:id字段为分类标识,name字段为分类名,father_id字段为所属父分类的id,path字段为分类路径(储存该分类祖先的集合),isdir判断是否是目录(1为是,0为否)。

显示函数:

//$count为分类等级  
sort_list($str,$fatherid,$count)  
{  
$rs = $this->sql->re_datas("select * from sort where father_id = fatherid");  
$num = $this->sql->sql_numrows();  
$i=0;  
$n = 1;  
while(isset($rs[$i]))  
{  
$name = "";  
for($n = 1 ; $n < $count ; $n++)  
{  
$name.="│ ";  
}  
if($i+1==$num)  
{  
$name.="└─".$rs[$i][name];  
}  
else  
{  
$name.="├─".$rs[$i][name];  
}  
if($rs[$i][isdir])  
{  
$str.="<span style='color:#CCCCCC'>".$name."</span>";  
}  
else  
{  
$str.=$name";  
}  
$temp = $count+1;  
$str = $this->sort_list($str,$rs[$i][id],$temp);  
$i++;  
}  
return $str;  
} 

其中$this->sql对象为sql操作类对象,re_datas()函数返回查到的数组,sql_numrows()函数返回查询到的数目

调用方法:$sort_list = sort_list($sort_list,0,1);

以上为个人思想,还望大家多多指点

PHP 相关文章推荐
PHP入门速成(2)
Oct 09 PHP
多重?l件?合查?(一)
Oct 09 PHP
PHP字符串处理的10个简单方法
Jun 30 PHP
PHP 函数学习简单小结
Jul 08 PHP
DEDE采集大师官方留后门的删除办法
Jan 08 PHP
PHP隐形一句话后门,和ThinkPHP框架加密码程序(base64_decode)
Nov 02 PHP
php配合jquery实现增删操作具体实例
Dec 12 PHP
PHP CodeIgniter框架的工作原理研究
Mar 30 PHP
实例详解PHP中html word 互转的方法
Jan 28 PHP
简单谈谈php浮点数精确运算
Mar 10 PHP
PHP中overload与override的区别
Feb 13 PHP
php下的原生ajax请求用法实例分析
Feb 28 PHP
PHP生成静态页面详解
Nov 19 #PHP
smarty实例教程
Nov 19 #PHP
PHP编程中八种常见的文件操作方式
Nov 19 #PHP
PHP初学入门
Nov 19 #PHP
PHP5新特性: 更加面向对象化的PHP
Nov 18 #PHP
Windows中安装Apache2和PHP4权威指南
Nov 18 #PHP
Win2003下APACHE+PHP5+MYSQL4+PHPMYADMIN 的简易安装配置
Nov 18 #PHP
You might like
解析PHP生成静态html文件的三种方法
2013/06/18 PHP
php获取数组元素中头一个数组元素值的实现方法
2014/12/20 PHP
php使用Cookie实现和用户会话的方法
2015/01/21 PHP
php 无限级分类 获取顶级分类ID
2016/03/13 PHP
PHP对称加密算法(DES/AES)类的实现代码
2017/11/14 PHP
页面中js执行顺序
2009/11/09 Javascript
js控制的回到页面顶端goTop的代码实现
2013/03/20 Javascript
js常用自定义公共函数汇总
2014/01/15 Javascript
javaScript 页面自动加载事件详解
2014/02/10 Javascript
javascript初学者常用技巧
2014/09/02 Javascript
jQuery实现点击后标记当前菜单位置(背景高亮菜单)效果
2015/08/22 Javascript
JS延时提示框实现方法详解
2015/11/26 Javascript
JS实用的带停顿的逐行文本循环滚动效果实例
2016/11/23 Javascript
JavaScript 中对象的深拷贝
2016/12/04 Javascript
Bootstrap输入框组件简单实现代码
2017/03/06 Javascript
node.js中express中间件body-parser的介绍与用法详解
2017/05/23 Javascript
「中高级前端面试」JavaScript手写代码无敌秘籍(推荐)
2019/04/08 Javascript
微信小程序用canvas画图并分享
2020/03/09 Javascript
Javascript幻灯片播放功能实现过程解析
2020/05/07 Javascript
关于element-ui表单中限制输入纯数字的解决方式
2020/09/08 Javascript
Vue中父子组件的值传递与方法传递
2020/09/28 Javascript
三步实现Django Paginator分页的方法
2019/06/11 Python
Python爬虫使用代理IP的实现
2019/10/27 Python
opencv 阈值分割的具体使用
2020/07/08 Python
详解纯CSS3制作的20种loading动效
2017/07/05 HTML / CSS
adidas官方旗舰店:德国运动用品制造商
2017/11/25 全球购物
马来西亚和新加坡巴士票在线预订:CatchThatBus
2018/11/17 全球购物
提高EJB性能都有哪些技巧
2012/03/25 面试题
工业学校毕业生自荐书
2014/01/03 职场文书
土建资料员岗位职责
2014/01/04 职场文书
技能比赛获奖感言
2014/02/14 职场文书
财务管理职业生涯规划书
2014/02/26 职场文书
小学学雷锋活动总结
2014/04/25 职场文书
爱心捐助倡议书
2014/05/19 职场文书
办公楼租房协议书范本
2014/11/25 职场文书
2016党员党章学习心得体会
2016/01/14 职场文书