您好,欢迎来到三六零分类信息网!老站,搜索引擎当天收录,欢迎发信息

php 无限级分类

2024/4/28 14:06:32发布17次查看
class trees{
 private $_keyid = 'id';
 private $_keyname = 'name';
 private $_keyfid = 'fid';
function __construct($keyid='',$keyname='',$keyfid='')
 {
  if($keyid==){$this->_keyid = $this->_keyid;}else{$this->_keyid = $keyid;}
  if($keyname==){$this->_keyname = $this->_keyname;}else{$this->_keyname = $keyname;}
  if($keyfid==){$this->_keyfid = $this->_keyfid;}else{$this->_keyfid = $keyfid;}
 }
public function treelistall($fid,$step=0,&$fromarray,&$resultarray)
 {
  $step++;
  foreach ($fromarray as $k=>$v){
   if($v[$this->_keyfid] == $fid){
    $newarray[] = $v;
   }
  }
  if(isset($newarray)){
   foreach ($newarray as $k=>$v){
    $this->treelistall($v[$this->_keyid],$step,$fromarray,$resultarray);
    $v['step'] = $step;
    $resultarray[] = $v;
   }
  }
 }
public function gettreelistall($fid=0,$step=0,&$fromarray,&$resultarray)
 {
  $step++;
  foreach ($fromarray as $k=>$v){
   if($v[$this->_keyfid] == $fid){
    $newarray[] = $v;
   }
  }
  if(isset($newarray)){
   foreach ($newarray as $k=>$v){
    $this->gettreelistall($v[$this->_keyid],$step,$fromarray,$resultarray);
    $v['step'] = $step;
    $resultarray[] = $v;
   }
  }  
 }
public function gettreelist($id = 0,&$fromarray)
 {
  $resultarray = array();
  $this->gettreelistall($id,0,$fromarray,$resultarray);
  $resultarray = array_reverse($resultarray);
  return $resultarray;
 }
public function gettreearray($id = 0,&$fromarray)
 {
  $result_one_array = $this->gettreelist($id,$fromarray);
  foreach ($result_one_array as $k=>$v){
   $result_two_array[] = array($v[$this->_keyid]);
  }
  if(isset($result_two_array)){
  for ($i=0;$i   for ($j=0;$j    $result[] = $result_two_array[$i][$j];
   }
  }
  }else{
   $result = array();
  }
  return $result;
 }
 public function treelistalltop($fid,$step=0,&$fromarray,&$resultarray)
 {
  $step++;
  foreach ($fromarray as $k=>$v){
   if($v[$this->_keyid] == $fid){
    $newarray[] = $v;
   }
  }
  if(isset($newarray)){
   foreach ($newarray as $k=>$v){
    $this->treelistalltop($v[$this->_keyfid],$step,$fromarray,$resultarray);
    $v['step'] = $step;
    $resultarray[] = $v;
   }
  }
 }
public function gettreelistalltop($fid=0,$step=0,&$fromarray,&$resultarray)
 {
  $step++;
  foreach ($fromarray as $k=>$v){
   if($v[$this->_keyid] == $fid){
    $newarray[] = $v;
   }
  }
  if(isset($newarray)){
   foreach ($newarray as $k=>$v){
    $this->gettreelistalltop($v[$this->_keyfid],$step,$fromarray,$resultarray);
    $v['step'] = $step;
    $resultarray[] = $v;
   }
  }  
 }
public function gettreelisttop($id = 0,&$fromarray)
 {
  $resultarray = array();
  $this->gettreelistalltop($id,0,$fromarray,$resultarray);
  $resultarray = array_reverse($resultarray);
  return $resultarray;
 }
public function gettreearraytop($id = 0,&$fromarray)
 {
  $result_one_array = $this->gettreelisttop($id,$fromarray);
  foreach ($result_one_array as $k=>$v){
   $result_two_array[] = array($v[$this->_keyfid]);
  }
  if(isset($result_two_array)){
  for ($i=0;$i   for ($j=0;$j    $result[] = $result_two_array[$i][$j];
   }
  }
  }else{
   $result = array();
  }
  return $result;
 }
public function makeoptionstring($sourcarray,$firsthint=顶级分类,$selectid=array('-1'),$type=0)
 {
  if($type==0){
   if($firsthint != ){
    $str = ''.$firsthint.'';
   }else{
    $str = ''; 
   }
   foreach ($sourcarray as $value){
    $level=;
    for($i=1;$i     $level =$level.----|;
    }
    $selectstr = ;
    if(in_array($value[$this->_keyid],$selectid)){
     $selectstr = selected;
    }else{
}
    $str.='_keyid].'>|'.$level.$value[$this->_keyname].;
    $level=;
   }
  }else{
   $flagstep =-1;
   $str = ''.$firsthint.'';
   foreach ($sourcarray as $value){
    $level=;
    for($i=1;$i     $level =$level.----|;
    }
    $selectstr = ;
    if($type==$value[$this->_keyid]){
     $flagstep = $value['step'];
    }else{
     if($flagstep != -1 && $value['step']>$flagstep){
}else{
      if($flagstep != -1 && $value['step']       $flagstep = -1;
      }
      if($value[$this->_keyid] == $selectid){
       $selectstr = selected;
      }
      $str.='_keyid].'>|'.$level.$value[$this->_keyname].;
     }
    }
$level=;
   }
  }
  return $str;
 }
}
该用户其它信息

VIP推荐

免费发布信息,免费发布B2B信息网站平台 - 三六零分类信息网 沪ICP备09012988号-2
企业名录 Product