关于php、mysql,二叉树高手来帮忙,如何计算下面某个节点是否在某节点下面?
数据库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();
}
[解决办法]
组织成二叉树的数据结构,很明显通过递归查询就可以查到.
[解决办法]
我来捡分了
function show($a,$b){
$res = mysql_query("select sh1 from member where id=$a");
$row = mysql_fetch_row($res);
if($row[0] == $b)
return '在';
elseif($row[0] == NULL)
return '不在';
else{
echo show($row[0],$b);
}
}
echo show(1004,1001);
echo '<br />';
echo show(1004,10031);