php无限级分类

主要是利用函数的递归,然后在无下级的条件下退出递归!
这个是我自己写的一个函数,无限树型的你参考下吧!

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

⑵ 谁给我个PHP无限分类全代码呀!!!!能直接用的!

function fenlei($fid =0,$depth=0){
global $array;
$menu='';$tag_len=$depth;$depth++;
for($i=0;$i<count($array);$i++){
if($array[$i][fid] == $fid){
for($k=0;$k<$tag_len;$k++)
{
$menu.="";//这里是缩进的,级别越低越往里缩
}
$menu.= $array[$i][name]."<br/>";
$menu.=fenlei($array[$i][id],$depth);
}
}

return $menu;
}

$nanmu = fenlei();
echo $nanmu;

function fenlei($fid =0,$depth=0){
global $array;
$menu='';$tag_len=$depth;$depth++;
foreach($array as $value){
if($value[fid] == $fid){
for($k=0;$k<$tag_len;$k++)
{
$menu.="";//这里是缩进的,级别越低越往里缩
}
$menu.= $value[name]."<br/>";
$menu.=fenlei($value[id],$depth);
}
}

return $menu;
}

$nanmu = fenlei();
echo $nanmu;

⑶ php无限极分类实现的方法

初始化的数据

//初始化原始数据(id=>编号,name=>显示名称,pid=>父级目录id,sort=>排序顺序)$data[1]=array('id'=>'1','name'=>'一级目录A','pid'=>'0','sort'=>'1');
$data[2]=array('id'=>'2','name'=>'一级目录B','pid'=>'0','sort'=>'2');
$data[3]=array('id'=>'3','name'=>'一级目录C','pid'=>'0','sort'=>'3');
$data[4]=array('id'=>'4','name'=>'一级目录D','pid'=>'0','sort'=>'4');
$data[5]=array('id'=>'5','name'=>'二级目录A-1','pid'=>'1','sort'=>'1');
$data[6]=array('id'=>'6','name'=>'二级目录A-2','pid'=>'1','sort'=>'2');
$data[7]=array('id'=>'7','name'=>'二级目录A-3','pid'=>'1','sort'=>'3');
$data[8]=array('id'=>'8','name'=>'二级目录B-1','pid'=>'2','sort'=>'1');
$data[9]=array('id'=>'9','name'=>'二级目录B-2','pid'=>'2','sort'=>'2');
$data[10]=array('id'=>'10','name'=>'二级目录B-3','pid'=>'2','sort'=>'3');
$data[11]=array('id'=>'11','name'=>'二级目录C-1','pid'=>'3','sort'=>'2');
$data[12]=array('id'=>'12','name'=>'二级目录D-1','pid'=>'4','sort'=>'1');
$data[13]=array('id'=>'13','name'=>'二级目录D-2','pid'=>'4','sort'=>'2');
$data[14]=array('id'=>'14','name'=>'三级目录A-2-1','pid'=>'6','sort'=>'1');
$data[15]=array('id'=>'15','name'=>'三级目录A-2-2','pid'=>'6','sort'=>'2');
$data[16]=array('id'=>'16','name'=>'三级目录C-1-1','pid'=>'11','sort'=>'1');
$data[17]=array('id'=>'17','name'=>'三级目录B-2-1','pid'=>'9','sort'=>'2');

显示树结构

functionprintTree($data,$level=0){foreach($dataas$key=>$value){for($i=0;$i<=$level;$i++){echo'&emsp;&emsp;';
}echo$value['name'];echo'<br>';if(!empty($value['children'])){
printTree($value['children'],$level+1);
}
}
}

使用递归的方式获取无限极分类数组

functiongetNodeTree(&$list,&$tree,$pid=0){foreach($listas$key=>$value){if($pid==$value['pid']){
$tree[$value['id']]=$value;unset($list[$key]);
getNodeTree($list,$tree[$value['id']]['children'],$value['id']);
}
}
}

使用引用-无限极分类

functioncreateNodeTree(&$list,&$tree){foreach($listas$key=>$node){if(isset($list[$node['pid']])){
$list[$node['pid']]['children'][]=&$list[$key];
}else{
$tree[]=&$list[$node['id']];
}
}
}

调用

//递归-无限极分类调用getNodeTree($data,$tree);
printTree($tree);//使用引用-无限极分类调用createNodeTree($data,$tree);
printTree($tree);

⑷ php如何无限分类删除

java">
$act=isset($_GET['act'])?trim($_GET['act']):";
if($act==
'del')
{
$sort_id=isset($_GET['id'])?intval($_GET['id']):'0';

$sort_ids=$sort_id;
$childrenIds=getChildrenIds($sort_id);
if
(!empty($childrenIds))
{
$sort_ids.=$childrenIds;
}
$sql=
“deletefrom`article_sort`WHERE`sort_id`in({$sort_ids})";
$res=
mysql_query($sql);
if($res)
{
alert('删除成功');
exit;
}

else
{
alert('删除失败');
exit;
}
}

⑸ php 无限分类

可以在表A中增加一个字段,该字段关联表B的SID,或者可以新建一张关联表C (ID,NEWSID,SID) 起到关联作用

select * from b2b_news as a,b2b_news_sort as b where a.sid= b.sid

是关联查询吗 ,如果有其他条件的话,在后面加and吧

⑹ php怎么无限分类怎么实现

你想要的是分类的思想吧?
网络上下载的都很成熟了,也就是说,很复杂,理解起来有难度
其实思想很简单
在数据库的表中
就一个表
有个自动增长的id
有个类名称
还有他的父类id
就可以啦
如果一个类的父类id为空
那他就是最高级别类
以此类推就可以了
这是我的想法
如果有更好的思想
麻烦拿出来晒晒
谢谢

⑺ php无限分类怎么弄

无限分类?是指自己可以随意添加分类,然后全部显示出来? 加个条件循环就可以了! $type=mysql_query("select * from type order by id desc"); //查询表type,也就是分类的表 需要输出的内容如:php无限分类怎么弄

⑻ php+mysql实现无限分类

..................................
不知道你要的分类是什么分类
是写一个方法实现对数据分类?
while(条件){
分类
}
条件为:如果没有此类

⑼ php无限分类................

<?php
/**
* 通用的树型类,可以生成任何树型结构
*/
class tree
{
/**
* 生成树型结构所需要的2维数组
* @var array
*/
var $arr = array();
/**
* 生成树型结构所需修饰符号,可以换成图片
* @var array
*/
var $icon = array('│','├','└');
/**
* @access private
*/
var $ret = '';
/**
* 构造函数,初始化类
* @param array 2维数组,例如:
* array(
* 1 => array('id'=>'1','parentid'=>0,'name'=>'一级栏目一'),
* 2 => array('id'=>'2','parentid'=>0,'name'=>'一级栏目二'),
* 3 => array('id'=>'3','parentid'=>1,'name'=>'二级栏目一'),
* 4 => array('id'=>'4','parentid'=>1,'name'=>'二级栏目二'),
* 5 => array('id'=>'5','parentid'=>2,'name'=>'二级栏目三'),
* 6 => array('id'=>'6','parentid'=>3,'name'=>'三级栏目一'),
* 7 => array('id'=>'7','parentid'=>3,'name'=>'三级栏目二')
* )
*/
function tree($arr=array())
{
$this->arr = $arr;
$this->ret = '';
return is_array($arr);
}
/**
* 得到父级数组
* @param int
* @return array
*/
function get_parent($myid)
{
$newarr = array();
if(!isset($this->arr[$myid])) return false;
$pid = $this->arr[$myid]['parentid'];
$pid = $this->arr[$pid]['parentid'];
if(is_array($this->arr))
{
foreach($this->arr as $id => $a)
{
if($a['parentid'] == $pid) $newarr[$id] = $a;
}
}
return $newarr;
}
/**
* 得到子级数组
* @param int
* @return array
*/
function get_child($myid)
{
$a = $newarr = array();
if(is_array($this->arr))
{
foreach($this->arr as $id => $a)
{
if($a['parentid'] == $myid) $newarr[$id] = $a;
}
}
return $newarr ? $newarr : false;
}
/**
* 得到当前位置数组
* @param int
* @return array
*/
function get_pos($myid,&$newarr)
{
$a = array();
if(!isset($this->arr[$myid])) return false;
$newarr[] = $this->arr[$myid];
$pid = $this->arr[$myid]['parentid'];
if(isset($this->arr[$pid]))
{
$this->get_pos($pid,$newarr);
}
if(is_array($newarr))
{
krsort($newarr);
foreach($newarr as $v)
{
$a[$v['id']] = $v;
}
}
return $a;
}
}
?>

随便网络一个都挺简单的