php+mysql实现无限级分类 | 树型显示分类关系

2016-02-19 09:02 66 1 收藏

只要你有一台电脑或者手机,都能关注图老师为大家精心推荐的php+mysql实现无限级分类 | 树型显示分类关系,手机电脑控们准备好了吗?一起看过来吧!

【 tulaoshi.com - Web开发 】

无限级分类,主要是通过储存上级分类的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);

  以上为个人思想,还望大家多多指点

来源:https://www.tulaoshi.com/n/20160219/1589263.html

延伸阅读
标签: PHP
  本系统可以录入标题、内容、图片、相关软件,显示时会根据是否有有图片和相关软件来判断是否显示该项内容,打开页面显示的是最新的一片文章,点击目录会显示之前的文章。     建立channelimages和channelsoft目录,并把权限设为777。 ********************************* news表结构 **************************...
标签: PHP
一. 10句话 1.不要依赖register_global=ON的环境,从你刚懂得配置php运行环境甚至尚不明白register_global的ON/OFF会对自己有什么影响的那天起,就应该勇敢地把它设为OFF. 2.写程序前看看怎么用error_reporting. 3.不懂就问本身没错,但你需要在那之前查查手册。 4.当然,你需要懂得使用手册。手册上找不到答案的时候,应该考虑下网络上的搜索...
标签: PHP
  大家好!好久没有看到大家了,上次写了用PHP的通过文件操作的聊天室,当然是漏洞百出的,而且每一次刷新屏幕都很糟糕的!我想了好久,是不是能有一种方法不要刷新,就能取得发言的信息了?多用一个框架就能实现这个效果了,即多用一个框架我们称为getmsg,我们让getmeg去取得信息而且保证每一次取得的信息是最新的,就是上次取得的发言...
标签: PHP
  用php+mysql一个名片库程序,有分类查找,分页功能。 第一步:按下列代表先做个静态页面。 <form method="post" action="find1.php" name="card" onSubmit="return card_Validator(this)"           <table width="400"...
    人人都认可开发人员测试的重要性,但为什么运行测试还是需要花费太多时间?本月,Andrew Glover 揭示了三种用来确保端到端系统健壮性的测试类型,随后展示了如何按类型来自动排序及运行测试。即使是使用当今大型测试套件,这样做也能显著地减少构建时间。     假如这样说不会(令您)很痛苦的话,请设...

经验教程

824

收藏

26
微博分享 QQ分享 QQ空间 手机页面 收藏网站 回到头部