//$count为分类等级 sort,主要是通过储存上级分类的id以及分类路径来实现
分类:博客热点

无限级分类,主要是通过储存上级分类的id以及分类路径来实现。由于数据的结构简单,所以要将分类的关系由树状显示,我只能想到用递归的方式给于实现,下面是分类数据表结构和自己写的一个树状显示函数,有什么不妥的地方希望大家能指出。 表结构:id字段为分类标识,name字段为分类名,father_id字段为所属父分类的id,path字段为分类路径,isdir判断是否是目录。 显示函数://$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); 以上为个人思想,还望大家多多指点。by 5w台灯

无限级分类,主要是通过储存上级分类的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 { 
$name.="│ "; 

if($i+1==$num) 

$name.="└─".$rs[$i][name]; 

else 

$name.="├─".$rs[$i][name]; 

if($rs[$i][isdir]) 

$str.="".$name.""; 

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);

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

本文由威尼斯在线注册平台发布于博客热点,转载请注明出处://$count为分类等级 sort,主要是通过储存上级分类的id以及分类路径来实现

上一篇:威尼斯正规官网ip地址询问 下一篇:没有了
猜你喜欢
热门排行
精彩图文