如何用php实现添加无限分类?类似织梦后台那种可以无限添加分类

如何用php实现添加无限分类?类似织梦后台那种可以无限添加分类,第1张

数据库设置3个字段 id name fid fid就是顶级id的意思

id name fid

1 分类1 0

2 分类2 0

3 分类1-1 1

4 分类1-2 1

5 分类2-1 2

6 分类2-2 2

数据库就是这种模式,fid为0的是最大分类。id为3 和 4的分类 是id 为 1 分类的子分类 ,所以fid都为 1 。5和6是id 为 2的子分类。

你查找数据库的时候查找 fid=0的数据 ,找出顶级分类 1 和 2 ,再查找fid分别为 1 和 2的分类,就是对应的子类,你用foreach遍历出来就是了,

那是一种关联关系....sql 里可以叫"自连接" 假设:表 Category 有以下字段: Id(PK),Cate_Name(varchar),Cate_Parent_Id(int) 数据: Id(编号ID) Cate_Name(类别名称) Cate_Parent_Id(父级Id) 1 BaseCategory 0 2 News 1 3 Article 1 4 Story 3 说明: Id 为 1 的基类别(没有父级类别) News,Article 为 基类别下的子分类 Story 为 Article 下的子分类 层次关系: 0 - 2 - 3 - 4 这样就可以简单实现无限分类的数据库的设计了 使用: 给出Id 获取到它的父类别和所有子类别 Function getParentCategory($Id){ $sql = "select * from Category where Id = (select Cate_Parent_Id from Category where Id = $Id)"$rs = mysql_query($sql,$conn)...... //省事期间,给出伪代码吧 if(记录不存在 或者 $Id = 1){ return false//无父级或不存在 }else{ return 查询出的父级数据数组} } Function getChildCategory($PId){ $sql = "select * from Category where Cate_Parent_Id = $PId"存在则返回数据数组 否则返回false } 上面只是简单说明下大致思路.. php,J2ee的我没手写过,都是通过支持ORM的MVC框架去配置出来的. asp的倒是写过,需要的话,可以发你 只要逻辑关系整清楚了,就不难了...至于页面展示,可以用JS或者AJAX

先建立数据库idnamepid

1 首页 0

2问题分类0

3知道栏目0

4首页_11

5首页_21

6问题分类_12

先查出pid=0的数据 //这是第一级

第一级:首页(id=1)问题分类(id=2) 知道栏目(id=3)

用jquery 时间,鼠标悬停时间

比如:鼠标移到首页上,就会触发jquery事件,

得到首页的id

这里用id去查出 pid=id的数据,

如果id=1

第二级:首页_1(id=4) 首页_2(id=5)

这里就和上面一样了


欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/sjk/9654749.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2023-04-30
下一篇 2023-04-30

发表评论

登录后才能评论

评论列表(0条)

保存