国产探花免费观看_亚洲丰满少妇自慰呻吟_97日韩有码在线_资源在线日韩欧美_一区二区精品毛片,辰东完美世界有声小说,欢乐颂第一季,yy玄幻小说排行榜完本

首頁 > 語言 > PHP > 正文

PHP實現多級分類生成樹的方法示例

2024-05-04 23:55:07
字體:
來源:轉載
供稿:網友

本文實例講述了PHP實現多級分類生成樹的方法。分享給大家供大家參考,具體如下:

條件,數據庫里分類是按id,fid(父ID)實現多級分類的!

使用方法:

$sql ="XXXXXXXXXX";   //sql語句$res = $db->Select($sql);  //執行sql$list=array();treeList(treeGet($res),$list);  /生成樹print_r($res);  //打印出來看看!

使用結果:

┣推薦新聞啊┃┣國際新聞┃┣dfffffg┃┣ttttttt┃┃┗yyyyy

代碼如下:

/*** 選擇SQL涵數** @access public* @param Array  $field  字段信息,支持涵數* @param Array  $table  數據庫表* @param Array  $where  條件* @return SQL SQL語句*/function treeGet($data){  $tmptree=null;  $tree=$data;  return treeAddNodeToTree($tmptree,treegetbyuid($tree,0,@$field),$tree);}/***插入SQL涵數** @access public* @param Array  $fieldResult  字段信息,支持涵數* @param Array  $table  數據庫表* @return SQL SQL語句*/function treeAddNodeToTree($Node,$miniTree,&$source){  if(is_array($miniTree)) {    foreach($miniTree as $k=>$v)    {      if(!count($miniTree[$k]['child']=treeAddNodeToTree($miniTree[$k],treegetbyuid($source,@$v['id']),$source)))      {        unset($miniTree[$k]['child']);        $miniTree[$k]['leaf']=true; //設置葉結點      }    }    return $Node['child']=$miniTree;  }}function treegetbyuid(&$stree,$uid){  $dtree=array();  if(is_array($stree)){    foreach($stree as $k=>$v)    {      if($v['fid']==$uid)      {        $mytmp=array();        $mytmp=$v;        unset($stree[$k]);        array_push($dtree,$mytmp);        $mytmp=null;      }    }  }  return $dtree;}/***更新SQL涵數** @access public* @param Array  $fieldResult  字段信息,支持涵數* @param Array  $table  數據庫表* @param Array  $where  條件* @return SQL SQL語句*/function treeMakeDeep($deep){  $returnValue="";  for (;$deep;$deep--)  {    $returnValue.="┃";  }  return $returnValue."┣";}function treeList($treeData,&$List){  static $deep=0;  if(is_array($treeData))  {    foreach($treeData as $k=>$v)    {      $v['deepValue']=treeMakeDeep($deep);      $v['deep']=$deep;      $t=$v;      unset($t['child']);      array_push($List,$t);      if($v['child'])      {        ++$deep;        $optionsNode.=treeList($v['child'],$List);        $deep--;      }    }    if($lastV=array_pop($List))    {      $lastV['deepValue']=str_replace('┣','┗',$lastV['deepValue']);      array_push($List,$lastV);    }  }}function treeSelect($tree,$id,$options="child"){  switch(strtolower($options))  {    case"child":    $tmpTree=array();    $deep=-1;    foreach($tree as $k=>$v)    {      if($id==$v['id'])      {        array_push($tmpTree,$v);        $deep=$v['deep'];      } elseif($deep!=-1)      {        if($v['deep']<=$deep)        {          break;        } else        {          array_push($tmpTree,$v);        }      }    }    break;    case "remove":    default:    $tmpTree=array();    $deep=-1;    foreach($tree as $k=>$v)    {      if($id==$v['id'])      {        $deep=$v['deep'];        continue;      } elseif($deep!=-1)      {        if($v['deep']<=$deep)        {          array_push($tmpTree,$v);          $deep=-1;        }        continue;      }      array_push($tmpTree,$v);    }  }  return $tmpTree;}

 

希望本文所述對大家PHP程序設計有所幫助。


注:相關教程知識閱讀請移步到PHP教程頻道。
發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表

圖片精選

主站蜘蛛池模板: 承德市| 营口市| 安庆市| 紫云| 高雄县| 婺源县| 师宗县| 策勒县| 探索| 马山县| 屯门区| 岳阳县| 台北县| 平定县| 兴宁市| 黄陵县| 军事| 德钦县| 凤台县| 旬阳县| 鹤山市| 宜黄县| 黑山县| 普宁市| 唐山市| 卓尼县| 大同市| 仁寿县| 阿勒泰市| 揭西县| 清新县| 上栗县| 牡丹江市| 兰西县| 天气| 拉孜县| 五常市| 南阳市| 武宣县| 广河县| 巫溪县|