学生数量
XX学校 240
一系 120
06级 30
07级 30
08级 30
09级 30
二系 120
软件专业 80
06级 20
07级 20
08级 20
09级 20
硬件专业 40
06级 10
07级 10
08级 10
09级 10
如上例,父节点的值是子节点的值的汇总,从子节点开始一级一级往上汇总,直至根节点。树的层次不定,上面的树仅是一个简单的例子。我前几天设计了一个递归算法,但有问题,哪位大侠能帮我解决问题!谢谢
XX学校 240
一系 120
06级 30
07级 30
08级 30
09级 30
二系 120
软件专业 80
06级 20
07级 20
08级 20
09级 20
硬件专业 40
06级 10
07级 10
08级 10
09级 10
如上例,父节点的值是子节点的值的汇总,从子节点开始一级一级往上汇总,直至根节点。树的层次不定,上面的树仅是一个简单的例子。我前几天设计了一个递归算法,但有问题,哪位大侠能帮我解决问题!谢谢
sql server中是case
access中是dsum
具体可以查查帮助,不难理解
function getAllChildTypeArray($parentId){
$handle = db_connect();
$ptid_array=array();
$ptid_array[]=$parentId; //求子树结点
$result=$handle->query('select * from '.TABLE_PRO_TYPE." where parent=$parentId ");
while($row=$result->fetch_assoc()){ //有子结点,递归
$ptid_array=array_merge(getAllChildTypeArray($row['id']),$ptid_array);
}
return $ptid_array;
}当然,你这里要把改成 $ptid_array 改成2维数组(id-值),1维数组只有值也可以,然后求和就好了