php无限级分类

/////////////////////////////////////////////////////////////////////////////////////////////////////
$sql = "select id,concat(path,',',id) as abspath,class_name from tree order by abspath";
$query = mysql_query ( $sql );
while ( $row = mysql_fetch_array ( $query ) ) 
{
    //第一种展示方法
    //$space = str_repeat ( '    ', count ( explode ( ',', $row ['abspath'] ) ) - 1 );
    //echo $space . $row ['name'] . '<br>';*/
     
    //第二种展示方法
    $space = str_repeat('&nbsp;&nbsp;', count ( explode ( ',', $row ['abspath'] ) ) - 4 );
    $option .= '<option value="' . $row ['id'] . '">' . $space . $row ['class_name'] . '</option>';
}
echo '<select name="opt">' . $option . '</select>';
//$sql1 = "INSERT INTO tree VALUES ('',2,'分类2-1-1-1',',2,9,12,13,')";
//mysql_query($sql1);

ThinkPHP下的使用

/**
*@author ↓
*get class_manage table,,all content
*/
	public function class_manage($array,$id) {
			$classManage	=	M('class_manage');
			$title	=	$classManage->where(array('pid'=>$id))->field('id,class_name,level,pid')->select();
			for($i=0;$i<count($title);$i++)
				{	
					$array[] = $title[$i];
					$this->class_manage(&$array,$title[$i]['id']);
				}
			return $array;
		}

/**
*构造ZTree树的JSON
*@author ↓
* {id:11, pId:1, name:"叶子节点 1-1"},
*/
public function class_manage_view($array,$id) {
			$classManage	=	M('class_manage');
			$title	=	$classManage->where(array('pid'=>$id))->field('id,class_name,level,pid')->order('id desc,sort desc')->select();
			for($i=0;$i<count($title);$i++)
				{	
					if($title[$i]['pid'] == 0)
						$array[]	=	"{id:".$title[$i]['id'].", pId:".$title[$i]['pid'].", name:\"".$title[$i]['class_name']."\", open:true},";
					else
						$array[]	=	"{id:".$title[$i]['id'].", pId:".$title[$i]['pid'].", name:\"".$title[$i]['class_name']."\"},";
					$this->class_manage_view(&$array,$title[$i]['id']);
				}
			return $array;
		}


你可能感兴趣的:(PHP,PHP无限级分类)