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 相关文章推荐
用js进行url编码后用php反解以及用php实现js的escape功能函数总结
Feb 08 PHP
php 定义404页面的实现代码
Nov 19 PHP
PHP中echo,print_r与var_dump区别分析
Sep 29 PHP
thinkphp命名空间用法实例详解
Dec 30 PHP
PHP微信开发之模板消息回复
Jun 24 PHP
php外部执行命令函数用法小结
Oct 11 PHP
PHP实现的方程求解示例分析
Nov 11 PHP
thinkPHP5框架设置404、403等http状态页面的方法
Jun 05 PHP
浅谈Laravel核心解读之Console内核
Dec 02 PHP
Mac下快速搭建PHP开发环境步骤详解
May 05 PHP
laravel 框架结合关联查询 when()用法分析
Nov 22 PHP
PHP利用缓存处理用户注册时的邮箱验证,成功后用户数据存入数据库操作示例
Dec 31 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排序算法的复习和总结
2012/02/15 PHP
PHP使用openssl扩展实现加解密方法示例
2020/02/20 PHP
通过实例解析PHP数据类型转换方法
2020/07/11 PHP
PHP tp5中使用原生sql查询代码实例
2020/10/28 PHP
点击下载链接 弹出页面实现代码
2009/10/01 Javascript
从零开始学习jQuery (六) jquery中的AJAX使用
2011/02/23 Javascript
JS对img进行操作(换图片/切图/轮换/停止)
2013/04/17 Javascript
jQuery实现单行文字间歇向上滚动源代码
2013/06/02 Javascript
jquery 隐藏与显示tr标签示例代码
2014/06/06 Javascript
jquery中toggle函数交替使用问题
2015/06/22 Javascript
js实现人民币大写金额形式转换
2016/04/27 Javascript
angularjs 中$apply,$digest,$watch详解
2016/10/13 Javascript
自己封装的一个原生JS拖动方法(推荐)
2016/11/22 Javascript
javascript实现右下角广告框效果
2017/02/01 Javascript
教你快速搭建Node.Js服务器的方法教程
2017/03/30 Javascript
微信小程序 开发之全局配置
2017/05/05 Javascript
ES6学习教程之块级作用域详解
2017/10/09 Javascript
nodejs实现一个word文档解析器思路详解
2018/08/14 NodeJs
js实现菜单跳转效果
2020/12/11 Javascript
python中使用enumerate函数遍历元素实例
2014/06/16 Python
Python cx_freeze打包工具处理问题思路及解决办法
2016/02/13 Python
利用Python命令行传递实例化对象的方法
2016/11/02 Python
Python常用内置模块之xml模块(详解)
2017/05/23 Python
解决在pycharm中显示额外的 figure 窗口问题
2019/01/15 Python
如何解决django-celery启动后迅速关闭
2019/10/16 Python
Pytorch.nn.conv2d 过程验证方式(单,多通道卷积过程)
2020/01/03 Python
Python类的继承super相关原理解析
2020/10/22 Python
电厂职工自我鉴定
2014/02/20 职场文书
建筑设计专业求职自我评价
2014/03/02 职场文书
蟋蟀的住宅教学反思
2014/04/26 职场文书
小学感恩节活动总结
2015/03/24 职场文书
创建文明城市倡议书
2015/04/28 职场文书
董事长秘书工作总结
2015/08/14 职场文书
Jupyter notebook 输出部分显示不全的解决方案
2021/04/24 Python
redis内存空间效率问题的深入探究
2021/05/17 Redis
Redis Cluster 集群搭建你会吗
2021/08/04 Redis