PHP无限级分类
曾经在网上看见过,也看视频教程写过,但很久没用了。又忘记了。。现在项目需要用到无限级分类,但不知道那个类如何写来着,,我记得有个专门用于处理无限级分类的类文件叫categ...
曾经在网上看见过,也看视频教程写过,但很久没用了。又忘记了。。现在项目需要用到无限级分类,但不知道那个类如何写来着,,我记得有个专门用于处理无限级分类的类文件叫category.class.php找了好久,终于找不到,哪位好心,发一下。。
<?php
class Category {
//根据父级ID查找所有的子分类
static public function sortOut($cate,$pid=0,$level=0,$html='--'){
$tree = array();
foreach($cate as $v){
if($v['id'] == $pid){
$v['level'] = $level + 1;
$v['html'] = str_repeat($html, $level);
$tree[] = $v;
$tree = array_merge($tree, self::sortOut($cate,$v['id'],$level+1,$html));
}
}
return $tree;
}
//根据子级ID找到所有的父级分类
...........
.........
.....
//根据父级ID统计遍历其下所有的分类。。。。。
............
........
}
?> 展开
<?php
class Category {
//根据父级ID查找所有的子分类
static public function sortOut($cate,$pid=0,$level=0,$html='--'){
$tree = array();
foreach($cate as $v){
if($v['id'] == $pid){
$v['level'] = $level + 1;
$v['html'] = str_repeat($html, $level);
$tree[] = $v;
$tree = array_merge($tree, self::sortOut($cate,$v['id'],$level+1,$html));
}
}
return $tree;
}
//根据子级ID找到所有的父级分类
...........
.........
.....
//根据父级ID统计遍历其下所有的分类。。。。。
............
........
}
?> 展开
2个回答
展开全部
主要是利用函数的递归,然后在无下级的条件下退出递归!
这个是我自己写的一个函数,无限树型的你参考下吧!
function getCategoryTree($TID, $iTable,$url,$urlPar="1=1") {
if ($TID == 0) {
$treeStr = $treeStr."<ul id=\"tree\" class=\"lightTreeview treeview-black\">";
}
$sql = "select * from `$iTable` where TID1 = ".$TID." order by orderid";
$rs = mysql_query($sql);
while ($ary = mysql_fetch_array($rs)) {
$treeStr = $treeStr."<li>";
$rs2 = mysql_query("select count(*) from `$iTable` where TID1 = ".$ary["id"]);
$Vcount = @mysql_result($rs2, 0);
if ($Vcount != 0) {
$treeStr = $treeStr."<div class=\"treeview-folder\">".$ary["title"]."</div><ul style=\"display:none\">";
$treeStr = $treeStr.getCategoryTree($ary["id"], $iTable,$url,$urlPar);
$treeStr = $treeStr."</ul>";
} else {
$treeStr = $treeStr."<div class=\"treeview-file\"><a href=\"".$url."?T=".$ary["id"]."&".$urlPar."\" target=\"pro\">".$ary["title"]."</a></div>";
}
$treeStr = $treeStr."</li>";
}@mysql_free_result($rs);
if ($TID == 0) {
$treeStr = $treeStr."</ul>";
}
return $treeStr;
}
这个是我自己写的一个函数,无限树型的你参考下吧!
function getCategoryTree($TID, $iTable,$url,$urlPar="1=1") {
if ($TID == 0) {
$treeStr = $treeStr."<ul id=\"tree\" class=\"lightTreeview treeview-black\">";
}
$sql = "select * from `$iTable` where TID1 = ".$TID." order by orderid";
$rs = mysql_query($sql);
while ($ary = mysql_fetch_array($rs)) {
$treeStr = $treeStr."<li>";
$rs2 = mysql_query("select count(*) from `$iTable` where TID1 = ".$ary["id"]);
$Vcount = @mysql_result($rs2, 0);
if ($Vcount != 0) {
$treeStr = $treeStr."<div class=\"treeview-folder\">".$ary["title"]."</div><ul style=\"display:none\">";
$treeStr = $treeStr.getCategoryTree($ary["id"], $iTable,$url,$urlPar);
$treeStr = $treeStr."</ul>";
} else {
$treeStr = $treeStr."<div class=\"treeview-file\"><a href=\"".$url."?T=".$ary["id"]."&".$urlPar."\" target=\"pro\">".$ary["title"]."</a></div>";
}
$treeStr = $treeStr."</li>";
}@mysql_free_result($rs);
if ($TID == 0) {
$treeStr = $treeStr."</ul>";
}
return $treeStr;
}
AiPPT
2024-09-19 广告
2024-09-19 广告
随着AI技术的飞速发展,如今市面上涌现了许多实用易操作的AI生成工具1、简介:AiPPT: 这款AI工具智能理解用户输入的主题,提供“AI智能生成”和“导入本地大纲”的选项,生成的PPT内容丰富多样,可自由编辑和添加元素,图表类型包括柱状图...
点击进入详情页
本回答由AiPPT提供
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询
广告 您可能关注的内容 |