function ListTree($pid) {
$db = new MySQLDB;
$db->query("select TypeID, TypeName, ParentID from z_newstype where ParentID = '$pid'");
while($db -> next()){
$db -> echorow("TypeName") ;
ListTree($db -> getrow("TypeID"));
}
}ListTree(0);
$db = new MySQLDB;
$db->query("select TypeID, TypeName, ParentID from z_newstype where ParentID = '$pid'");
while($db -> next()){
$db -> echorow("TypeName") ;
ListTree($db -> getrow("TypeID"));
}
}ListTree(0);
//try¸ÕдµÄ,Ê×ÏÈÓÃsqlÉú³ÉÕâÑùµÄÊý×é,
$array = array( '1' => array('parent'=>'0','title'=>'aaaaaaaaaaaaaaaaaaaaaaaaaa'),
'2' => array('parent'=>'1','title'=>'bbbbbbbbbbbbbbbbb'),
'3' => array('parent'=>'5','title'=>'cccccccccccccccccccc'),
'4' => array('parent'=>'2','title'=>'cccccccccccccccccccc'),
'5' => array('parent'=>'1','title'=>'bbbbbbbbbbbbbbbbb')
);
print"<pre>";
print_r($array);
print"</pre>";
foreach ($array as $key => $value) {
if ($value['parent'] == '0') {
print $value['title']."<br>";
$class = 1;
listTree($array,$key, $class);
}
}
function listTree($array, $temp_key, $class){
$spc = "";
for ($i=0; $i<$class; $i++) {
$spc .= " ";
}
foreach ($array as $key => $value) {
if ($value['parent'] == $temp_key) {
print $spc.$value['title']."<br>";
listTree($array, $key, $class+1);
}
}
}
刚刚写了一个,你试一下行不行,首先用sql生成类似这样的数组,以主键作key
主键 parent 标题
$array=array(array(1,0,'AAA'),
array(2,1,'BBB'),
array(3,1,'CCC'),
array(4,1,'DDD'),
array(5,2,'EEE'),
array(6,2,'FFF'),
array(7,5,'GGG'),
array(8,5,'HHH'),
array(9,7,'III'),
array(10,9,'JJJ')
)
谢谢大家,已经解决
主键 parent 标题
$array=array(array(1,0,'AAAA'),
array(2,1,'BBBB'),
array(3,1,'CCCC'),
array(4,1,'DDDD'),
array(5,2,'EEEE'),
array(6,2,'FFFF'),
array(7,5,'GGGG'),
array(8,5,'HHHH'),
array(9,7,'IIII'),
array(10,9,'JJJJ'),
array(21,3,'LLLL'),
array(22,21,'MMMM'),
array(23,22,'NNNN'),
array(24,21,'OOOO'),
array(25,23,'PPPP'),
array(26,24,'QQQQ')
);
function listTree($array,$id,$parent,$title,$start,$nbsp){
$pre="";
for ($i=0; $i<=$nbsp; $i++) {
$pre.=" ";
}
if($parent==0) echo $title."<br>\n"; for($i=$start;$i<sizeof($array);$i++){
if($array[$i][1]==$id){
echo $pre.$array[$i][2] ."<br>\n";
listTree($array,$array[$i][0],$array[$i][1],$array[$i][2],$i+1,$nbsp+1);
}
}
}
listTree($array,1,0,'AAA',1,0);
//listTree($array,3,1,'CCC',0,1);
?>