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批量生成随机用户名
Jul 10 PHP
PHP学习之字符串比较和查找
Apr 17 PHP
PHP中将字符串转化为整数(int) intval() printf() 性能测试
Mar 20 PHP
php中使用$_REQUEST需要注意的一个问题
May 02 PHP
如何解决CI框架的Disallowed Key Characters错误提示
Jul 05 PHP
PHP抓屏函数实现屏幕快照代码分享
Jan 02 PHP
js代码实现微博导航栏
Jul 30 PHP
php通过会话控制实现身份验证实例
Oct 18 PHP
在Mac OS下搭建LNMP开发环境的步骤详解
Mar 10 PHP
PHP实现表单提交数据的验证处理功能【防SQL注入和XSS攻击等】
Jul 21 PHP
php获取ajax的headers方法与内容实例
Dec 27 PHP
PHP实现文件上传操作和封装
Mar 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
外媒评选出10支2020年最受欢迎的Dota2战队
2021/03/05 DOTA
PHP中UNIX时间戳和日期间的转换与计算实例
2014/11/19 PHP
php访问数组最后一个元素的函数end()用法
2015/03/18 PHP
Yii使用DeleteAll连表删除出现报错问题的解决方法
2016/07/14 PHP
javascript实现tabs选项卡切换效果(自写原生js)
2013/03/19 Javascript
解析js中获得父窗口链接getParent方法以及各种打开窗口的方法
2013/06/19 Javascript
jQuery学习笔记之创建DOM元素
2015/01/19 Javascript
jquery捕捉回车键及获取checkbox值与异步请求的方法
2015/12/24 Javascript
原生js实现autocomplete插件
2016/04/14 Javascript
jQuery基于扩展简单实现倒计时功能的方法
2016/05/14 Javascript
Javascript之面向对象--接口
2016/12/02 Javascript
vue使用axios实现文件上传进度的实时更新详解
2017/12/20 Javascript
jquery 动态遍历select 赋值的实例
2018/09/12 jQuery
解决eclipse中没有js代码提示的问题
2018/10/10 Javascript
微信小程序实现联动选择器
2019/02/15 Javascript
深入理解JavaScript 箭头函数
2019/05/30 Javascript
Vue检测屏幕变化来改变不同的charts样式实例
2020/10/26 Javascript
[46:57]EG vs Winstrike 2018国际邀请赛小组赛BO2 第二场 8.18
2018/08/19 DOTA
Python中使用MELIAE分析程序内存占用实例
2015/02/18 Python
Pythony运维入门之Socket网络编程详解
2019/04/15 Python
使用Pyinstaller转换.py文件为.exe可执行程序过程详解
2019/08/06 Python
python在一个范围内取随机数的简单实例
2020/08/16 Python
Django中ORM的基本使用教程
2020/12/22 Python
CSS3中媒体查询结合rem布局适配手机屏幕
2019/06/10 HTML / CSS
基于html5 canvas做批改作业的小插件
2020/05/20 HTML / CSS
意大利香水和化妆品购物网站:Parfimo.it
2019/10/06 全球购物
PHP解析URL是哪个函数?怎么用?
2013/05/09 面试题
文员岗位职责
2013/11/09 职场文书
国际贸易毕业生求职信范文
2014/02/21 职场文书
给全校老师的建议书
2014/03/13 职场文书
学习型党组织建设经验材料
2014/05/26 职场文书
初一军训感言
2015/08/01 职场文书
2016先进集体事迹材料范文
2016/02/25 职场文书
敬业奉献模范事迹材料(2016精选版)
2016/02/26 职场文书
 Python 中 logging 模块使用详情
2022/03/03 Python
vue/cli 配置动态代理无需重启服务的方法
2022/05/20 Vue.js