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自动更新新闻DIY
Oct 09 PHP
php 实现进制转换(二进制、八进制、十六进制)互相转换实现代码
Oct 22 PHP
php对csv文件的读取,写入,输出下载操作详解
Aug 10 PHP
php获取bing每日壁纸示例分享
Feb 25 PHP
PHPer 需要了解的 5 个 Composer 小技巧
Aug 18 PHP
简单分析ucenter 会员同步登录通信原理
Aug 25 PHP
浅谈php优化需要注意的地方
Nov 27 PHP
PHP生成随机数的方法实例分析
Jan 22 PHP
PHP嵌套输出缓冲代码实例
May 12 PHP
Thinkphp关闭缓存的方法
Jun 26 PHP
JavaScript与HTML结合的基本使用方法整理
Oct 12 PHP
PHP实现长文章分页实例代码(附源码)
Feb 03 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与ASP
2006/10/09 PHP
在PHP中使用与Perl兼容的正则表达式
2006/11/26 PHP
JpGraph php柱状图使用介绍
2011/08/23 PHP
PHP连接MongoDB示例代码
2012/09/06 PHP
PHP中file_exists函数不支持中文名的解决方法
2014/07/26 PHP
基于jQuery的仿flash的广告轮播
2010/11/05 Javascript
精通Javascript系列之数据类型 字符串
2011/06/08 Javascript
js中判断数字\字母\中文的正则表达式 (实例)
2012/06/29 Javascript
编写高效jQuery代码的4个原则和5个技巧
2014/04/24 Javascript
JavaScript获取对象在页面中位置坐标的方法
2016/02/03 Javascript
javascript验证内容为数字以及长度为10的简单实例
2016/08/20 Javascript
使用开源工具制作网页验证码的方法
2016/10/17 Javascript
canvas实现绘制吃豆鱼效果
2017/01/12 Javascript
Bootstrap模态框插入视频的实现代码
2017/06/25 Javascript
[00:09]DOTA2全国高校联赛 精彩活动引爆全场
2018/05/30 DOTA
使用Python解析JSON数据的基本方法
2015/10/15 Python
python常见排序算法基础教程
2017/04/13 Python
安装Python的教程-Windows
2017/07/22 Python
django Admin文档生成器使用详解
2019/07/22 Python
CSS超出文本指定宽度用省略号代替和文本不换行
2016/05/05 HTML / CSS
GAP阿联酋官网:GAP UAE
2017/11/30 全球购物
迪拜领先运动补剂零售品牌中文站:Sporter商城
2019/08/20 全球购物
汇智创新科技发展有限公司
2015/12/06 面试题
一些Solaris面试题
2013/03/22 面试题
学习委员自我鉴定
2014/01/13 职场文书
怎么写自荐书范文
2014/02/12 职场文书
门前三包责任书
2014/04/15 职场文书
水污染治理工程专业自荐信
2014/06/21 职场文书
标准毕业生自荐信
2014/06/24 职场文书
仓库保管员岗位职责
2015/02/09 职场文书
2015年管理人员工作总结
2015/05/13 职场文书
话题作文之财富(600字)
2019/12/03 职场文书
vue引入Excel表格插件的方法
2021/04/28 Vue.js
解决Tkinter中button按钮未按却主动执行command函数的问题
2021/05/23 Python
pytorch中的 .view()函数的用法介绍
2022/03/17 Python
数据分析数据库ClickHouse在大数据领域应用实践
2022/04/03 MySQL