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 相关文章推荐
7个超级实用的PHP代码片段
Jul 11 PHP
PHP判断图片格式的七种方法小结
Jun 03 PHP
PHP的Yii框架的基本使用示例
Aug 21 PHP
利用php输出不同的心形图案
Apr 22 PHP
java微信开发之上传下载多媒体文件
Jun 24 PHP
PHP用mysql_insert_id()函数获得刚插入数据或当前发布文章的ID
Nov 25 PHP
php抽象方法和抽象类实例分析
Dec 07 PHP
PHP连接MySQL进行增、删、改、查操作
Feb 19 PHP
laravel通过创建自定义artisan make命令来新建类文件详解
Aug 17 PHP
laravel如何开启跨域功能示例详解
Aug 31 PHP
php swoole多进程/多线程用法示例【基于php7nts版】
Aug 12 PHP
yii框架结合charjs统计上一年与当前年数据的方法示例
Apr 04 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
phpmyadmin导入(import)文件限制的解决办法
2009/12/11 PHP
php获取目录所有文件并将结果保存到数组(实例)
2013/10/25 PHP
关于PHP的curl开启问题探讨
2014/04/08 PHP
PHP使用两个栈实现队列功能的方法
2018/01/15 PHP
php输出控制函数和输出函数生成静态页面
2019/06/27 PHP
JavaScript 判断浏览器类型及版本
2009/02/21 Javascript
解决表单中第一个非隐藏的元素获得焦点的一个方案
2009/10/26 Javascript
jquery选择器之层级过滤选择器详解
2014/01/27 Javascript
纯JS实现根据CSS的class选择DOM
2014/03/22 Javascript
Bootstrap打造一个左侧折叠菜单的系统模板(一)
2016/05/17 Javascript
ECHO.js 纯javascript轻量级延迟加载的实例代码
2016/05/24 Javascript
老生常谈 js中this的指向
2016/06/30 Javascript
AngularJS基础 ng-copy 指令实例代码
2016/08/01 Javascript
jQuery 获取页面li数组并删除不在数组中的key
2016/08/02 Javascript
详解js实现线段交点的三种算法
2016/08/09 Javascript
JQ选择器_选择同类元素的第N个子元素的实现方法
2016/09/08 Javascript
概述jQuery的元素筛选
2016/11/23 Javascript
微信小程序开发之大转盘 仿天猫超市抽奖实例
2016/12/08 Javascript
详解AngularJS ng-class样式切换
2017/06/27 Javascript
three.js加载obj模型的实例代码
2017/11/10 Javascript
使用Vue.js和Element-UI做一个简单登录页面的实例
2018/02/23 Javascript
js正则取值的结果数组调试方法
2018/10/10 Javascript
python实现忽略大小写对字符串列表排序的方法
2014/09/25 Python
Python的Django应用程序解决AJAX跨域访问问题的方法
2016/05/31 Python
Python连接Redis的基本配置方法
2018/09/13 Python
对pandas中iloc,loc取数据差别及按条件取值的方法详解
2018/11/06 Python
Python内置函数locals和globals对比
2020/04/28 Python
Python return语句如何实现结果返回调用
2020/10/15 Python
专科毕业生就业推荐信
2013/11/01 职场文书
社区消防工作实施方案
2014/03/21 职场文书
增员口号大全
2014/06/18 职场文书
授权委托书样本
2014/09/25 职场文书
就业协议书盖章的注意事项
2014/09/28 职场文书
小升初自荐信范文
2015/03/05 职场文书
党组织关系的介绍信模板
2019/06/21 职场文书
如何用Python搭建gRPC服务
2021/06/30 Python