关于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();
}
------解决方案--------------------组织成二叉树的数据结构,很明显通过递归查询就可以查到.
------解决方案--------------------我来捡分了
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);