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实现定时生成HTML网站首页实例代码
Nov 20 PHP
php $_SERVER[&quot;REQUEST_URI&quot;]获取值的通用解决方法
Jun 21 PHP
php中模拟POST传递数据的两种方法分享
Sep 16 PHP
第二章 PHP入门基础之php代码写法
Dec 30 PHP
PHP设计模式之装饰者模式
Feb 29 PHP
PHP与MongoDB简介|安全|M+PHP应用实例详解
Jun 17 PHP
解析在PHP中使用mysqli扩展库对mysql的操作
Jul 03 PHP
Laravel框架学习笔记(一)环境搭建
Oct 15 PHP
thinkphp3.2中Lite文件替换框架入口文件或应用入口文件的方法
May 21 PHP
php实现微信支付之企业付款
May 30 PHP
如何优雅的使用 laravel 的 validator验证方法
Nov 11 PHP
PHP解决高并发问题
Apr 01 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检测文件编码的函数
2014/04/21 PHP
php使用正则过滤js脚本代码实例
2014/05/10 PHP
验证坐标在某坐标区域内php代码
2016/10/08 PHP
jQuery 改变CSS样式基础代码
2010/02/11 Javascript
JavaScript 数组运用实现代码
2010/04/13 Javascript
jquery ui resizable bug解决方法
2010/10/26 Javascript
JavaScript原型继承之基础机制分析
2011/08/26 Javascript
JS动态添加与删除select中的Option对象(示例代码)
2013/12/25 Javascript
window.location不跳转的问题解决方法
2014/04/17 Javascript
基于jQuery仿淘宝产品图片放大镜特效
2020/10/19 Javascript
JavaScript实现垂直滚动条效果
2017/01/18 Javascript
jQuery.Ajax()的data参数类型详解
2017/07/23 jQuery
Angular2 组件间通过@Input @Output通讯示例
2017/08/24 Javascript
WebStorm ES6 语法支持设置&amp;babel使用及自动编译(详解)
2017/09/08 Javascript
基于vue实现移动端圆形旋钮插件效果
2018/11/28 Javascript
浅谈layui使用模板引擎动态渲染元素要注意的问题
2019/09/14 Javascript
node+multer实现图片上传的示例代码
2020/02/18 Javascript
Vue使用vue-draggable 插件在不同列表之间拖拽功能
2020/03/12 Javascript
Postman无法正常返回结果问题解决
2020/08/28 Javascript
对python字典过滤条件的实例详解
2019/01/22 Python
python 定时器每天就执行一次的实现代码
2019/08/14 Python
Python实现线性判别分析(LDA)的MATLAB方式
2019/12/09 Python
基于Keras中Conv1D和Conv2D的区别说明
2020/06/19 Python
pip install命令安装扩展库整理
2021/03/02 Python
video实现有声音自动播放的实现方法
2020/05/20 HTML / CSS
欧洲第一中国智能手机和平板电脑网上商店:CECT-SHOP
2018/01/08 全球购物
Herschel美国官网:背包、手提袋及配件
2020/03/10 全球购物
介绍一下游标
2012/01/10 面试题
《童年的发现》教学反思
2014/02/14 职场文书
大学新生军训方案
2014/05/03 职场文书
组织生活会表态发言材料
2014/10/17 职场文书
民主评议党员总结
2014/10/20 职场文书
先进个人材料怎么写
2014/12/30 职场文书
2015年乡镇妇联工作总结
2015/05/19 职场文书
python中的plt.cm.Paired用法说明
2021/05/31 Python
Nginx 安装SSL证书完成HTTPS部署
2022/04/28 Servers