要用到
* @param $adds
* @param $str_group
*/
function get_tree($myid, $str, $sid = 0, $adds = '''', $str_group = '''')
{
$number=1;
$child = $this->get_child($myid);
if(is_array($child)) {
$total = count($child);
foreach($child as $id=>$a) {
$j=$k='''';
if($number==$total) {
$j .= $this->icon;
} else {
$j .= $this->icon;
$k = $adds ? $this->icon[0] : '''';
}
$spacer = $adds ? $adds.$j : '''';
$selected = $id==$sid ? ''selected'' : '''';
@extract($a);
$parentid == 0 && $str_group ? eval("\$nstr = \"$str_group\";") : eval("\$nstr = \"$str\";");
$this->ret .= $nstr;
$this->get_tree($id, $str, $sid, $adds.$k.'' '',$str_group);
$number++;
}
}
return $this->ret;
}
/**
* 同上一方法类似,但允许多选
*/
function get_tree_multi($myid, $str, $sid = 0, $adds = '''')
{
$number=1;
$child = $this->get_child($myid);
if(is_array($child))
{
$total = count($child);
foreach($child as $id=>$a)
{
$j=$k='''';
if($number==$total)
{
$j .= $this->icon;
}
else
{
$j .= $this->icon;
$k = $adds ? $this->icon[0] : '''';
}
$spacer = $adds ? $adds.$j : '''';
$selected = $this->have($sid,$id) ? ''selected'' : '''';
@extract($a);
eval("\$nstr = \"$str\";");
$this->ret .= $nstr;
$this->get_tree_multi($id, $str, $sid, $adds.$k.'' '');
$number++;
}
}
return $this->ret;
}
function have($list,$item){
return(strpos('',,''.$list.'','','',''.$item.'',''));
}
/**
+------------------------------------------------
* 格式化数组
+------------------------------------------------
* @author yangyunzhou@foxmail.com
+------------------------------------------------
*/
function getArray($myid=0, $sid=0, $adds='''')
{
$number=1;
$child = $this->get_child($myid);
if(is_array($child)) {
$total = count($child);
foreach($child as $id=>$a) {
$j=$k='''';
if($number==$total) {
$j .= $this->icon;
} else {
$j .= $this->icon;
$k = $adds ? $this->icon[0] : '''';
}
$spacer = $adds ? $adds.$j : '''';
@extract($a);
$a[''title''] = $spacer.'' ''.$a[''title''];
$this->ret[$a[''id'']] = $a;
$fd = $adds.$k.'' '';
$this->getArray($id, $sid, $fd);
$number++;
}
}
return $this->ret;
}
}
?>