关于php、mysql,二叉树高手来帮忙,如何计算下面某个节点是否在某节点下面?
本帖最后由 kwdpx 于 2013-09-05 16:57:47 编辑

数据库member结构:
编号 上级ID 金额
id sh1 jine
1001 999 49
1002 1001 20
1003 1001 29
1004 1002 10
1005 1003 12
1006 1002 10
1007 1006 4
1008 1003 17
1013 1008 8
1015 1006 6
1021 1008 9
……
比如想知道ID:1021在不在1003下面?如果在就显示在,如果不在1003下面就显示不在:
if(){
echo "在";
}else{
echo "不在";
exit();
}

数据库member结构:
编号 上级ID 金额
id sh1 jine
1001 999 49
1002 1001 20
1003 1001 29
1004 1002 10
1005 1003 12
1006 1002 10
1007 1006 4
1008 1003 17
1013 1008 8
1015 1006 6
1021 1008 9
……
比如想知道ID:1021在不在1003下面?如果在就显示在,如果不在1003下面就显示不在:
if(){
echo "在";
}else{
echo "不在";
exit();
}
分享到:
------解决方案--------------------
组织成二叉树的数据结构,很明显通过递归查询就可以查到.
------解决方案--------------------
------解决方案--------------------
组织成二叉树的数据结构,很明显通过递归查询就可以查到.
------解决方案--------------------
我来捡分了<br>
function show($a,$b){ <br>
$res = mysql_query("select sh1 from member where id=$a"); <br>
$row = mysql_fetch_row($res); <br>
if($row[0] == $b)<br>
return '在'; <br>
elseif($row[0] == NULL) <br>
return '不在'; <br>
else{ <br>
echo show($row[0],$b); <br>
}<br>
} <br>
echo show(1004,1001);<br>
echo '<br />';<br>
echo show(1004,10031);










