怎么在php中使用mysql实现一个无限级分类

  介绍

怎么在php中使用mysql实现一个无限级分类?相信很多没有经验的人对此束手无策,为此本文总结了问题出现的原因和解决方法,通过这篇文章希望你能解决这个问题。

数据库字段大概如下:

代码如下:

id编号
fid父分类编号
class_name分类名
路径分类路径,以id为节点,组成类似,1,2,3,4,这样的字符串

可以假设有如下的数据:

代码如下:


id fid class_name路径
1,0,,,,,,分类1,,,,,,,1,
2,0,,,,,,分2类,,,,,,,2,
3,1,,,,,,分类1 - 1,,,,1、3、4
,1,,,,,,分类1 - 2,,,,1,4,
5,2,,,,,,分2 - 1类,,,,2、5、6,
4,,,,,,分类1-2-1,1、4、6

无限级分类操作代码:

& lt; ? php ,,   $ sql=癝ELECT  *,得到tree  order  by 路径”,,,   查询结果=国家统计局→美元($ sql);,,   而(行=美元国家统计局→访问fetch_array(结果)美元){,,   如果才能(substr_count(美元行[& # 39;path & # 39;], & # 39;, & # 39;)比;2){,,   ,,,(i=0; i<美元(substr_count(美元行[& # 39;path & # 39;], & # 39;, & # 39;) 2);美元我+ +),,   ,,,,,echo ,,,,   ,,},   echo 才能;$行[& # 39;class_name& # 39;]强生# 39;& lt; br> & # 39;;,,   },,   祝辞;,,      conn 美元;=,mysql_connect  (, & # 39; localhost # 39;,, & # 39;根# 39;,,& # 39;根# 39;,);   mysql_select_db  (, & # 39; wanggou123& # 39;,, conn 美元;);   mysql_query  (, & # 39; set  names  use utf8 # 39;,);=$ sql “select  id, concat (catpath & # 39; & # 39;, id), as  abspath, name 得到category  order  by  abspath";   ,   $ query =, mysql_query  (, sql 美元;);   while (,(查询)美元result中进行row=mysql_fetch_array美元),{   ,/* *   *,才能第一种展示方法   *//* $ space =, str_repeat  (, & # 39;,,,,,,,, & # 39;,, count  (, explode  (, & # 39; & # 39;,, row 美元;[& # 39;abspath& # 39;],),),安康;1,);   echo  space 美元;只row 美元;[& # 39;名字# 39;],只& # 39;   & # 39;;*//* *   ,第二种展示方法   */space 美元;=,str_repeat  (, & # 39;——& # 39;,, count  (, explode  (, & # 39; & # 39;,, row 美元;[& # 39;abspath& # 39;],),),安康;1,);   option 美元。=,& # 39;& # 39;,只space 美元;只row 美元;[& # 39;名字# 39;],只& # 39;& lt; Br> & # 39;;   }   echo 美元选项;   退出();   echo  & # 39; & lt; select  name=皁pt"祝辞& # 39;,只option 美元;只& # 39;& lt;/select> & # 39;;

看完上述内容,你们掌握怎么在php中使用mysql实现一个无限级分类的方法了吗?如果还想学到更多技能或想了解更多相关内容,欢迎关注行业资讯频道,感谢各位的阅读!

怎么在php中使用mysql实现一个无限级分类