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 相关文章推荐
初学CAKEPHP 基础教程
Nov 02 PHP
php遍历目录viewDir函数
Dec 15 PHP
php中将网址转换为超链接的函数
Sep 02 PHP
基于flush()不能按顺序输出时的解决办法
Jun 29 PHP
PHP文件大小格式化函数合集
Mar 10 PHP
Thinkphp中import的几个用法详细介绍
Jul 02 PHP
php实现的DateDiff和DateAdd时间函数代码分享
Aug 16 PHP
php修改上传图片尺寸的方法
Apr 14 PHP
php中 ob_start等函数截取标准输出的方法
Jun 22 PHP
PHP请求远程地址设置超时时间的解决方法
Oct 29 PHP
php 微信开发获取用户信息如何实现
Dec 13 PHP
PHP生成(支持多模板)二维码海报代码
Apr 30 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 多个submit提交表单 处理方法
2009/07/07 PHP
从零开始学YII2框架(二)通过 Composer 安装扩展插件
2014/08/20 PHP
php禁止浏览器使用缓存页面的方法
2014/11/07 PHP
php简单统计字符串单词数量的方法
2015/06/19 PHP
php新建文件的方法实例
2019/09/26 PHP
Centos7安装swoole扩展操作示例
2020/03/26 PHP
javascript 放大镜效果js组件 qsoft.PopBigImage.v0.35 加入了chrome支持
2009/04/07 Javascript
jquery.boxy插件的iframe扩展代码
2010/07/02 Javascript
在jQuery中 关于json空对象筛选替换
2013/04/15 Javascript
jquery设置元素的readonly和disabled的写法
2013/09/22 Javascript
js获取时间(本周、本季度、本月..)
2013/11/22 Javascript
jquery创建表格(自动增加表格)代码分享
2013/12/25 Javascript
JavaScript利用append添加元素报错的解决方法
2014/07/01 Javascript
JavaScript实现网页加载进度条代码超简单
2015/09/21 Javascript
基于jquery实现动态竖向柱状条特效
2016/02/12 Javascript
基于JavaScript实现回到页面顶部动画代码
2016/05/24 Javascript
JS实现页面载入时随机显示图片效果
2016/09/07 Javascript
详解jQuery lazyload 懒加载
2016/12/19 Javascript
JS实现一个简单的日历
2017/02/22 Javascript
js实现多张图片延迟加载效果
2017/07/17 Javascript
Vue2.0 组件传值通讯的示例代码
2017/08/01 Javascript
使用vue制作FullPage页面滚动效果
2017/08/21 Javascript
JS数组去重常用方法实例小结【4种方法】
2018/05/28 Javascript
vue插件draggable实现拖拽移动图片顺序
2018/12/01 Javascript
python自动化测试之从命令行运行测试用例with verbosity
2014/09/28 Python
python连接远程ftp服务器并列出目录下文件的方法
2015/04/01 Python
简单解决Python文件中文编码问题
2015/11/22 Python
Python语言的面相对象编程方式初步学习
2016/03/12 Python
python内存监控工具memory_profiler和guppy的用法详解
2019/07/29 Python
html5基础标签(html5视频标签 html5新标签用法)
2013/12/30 HTML / CSS
英国领先的电子、技术和办公用品购物网站:Ebuyer
2018/04/04 全球购物
致长跑运动员广播稿
2014/01/31 职场文书
2015年预备党员自我评价
2015/03/04 职场文书
2015年超市收银员工作总结
2015/04/25 职场文书
活动经费申请报告
2015/05/15 职场文书
解除合同协议书范本
2016/03/21 职场文书