1
我被困在一些情況下,我必須計算二進制樹的左孩子和右孩子我的數據庫結構如下。二進制樹兒童計數php mysql
SELECT id,usr_name,rid,pid,l_mem,r_mem,position,joining_date FROM user WHERE id = '$id'"
其中RID是=轉診ID和PID =父ID,
我需要算定父ID的所有葉例如
如果ID 1已經離開2,右3個即時孩子的我需要知道左總成員數和總成員數。
1
/ \
2 3
/\ /\
4 5 6 7
/ \ \
8 9 11
/ \
10 12
/\
13 14
我需要統計的1 所有孩子的我使用這個功能,但只計算最左邊,請修改,或解釋自己
function leftcount($id) //Function to calculate leftcount
{
$sql = "SELECT id,usr_name,rid,pid,l_mem,r_mem,position,joining_date FROM user WHERE id = '$id'";
$execsql = mysql_query($sql);
$array = mysql_fetch_array($execsql);
//var_dump($array);
(array_count_values($array));
if(!empty($array['l_mem']))
{
$count += leftcount($array['l_mem']);
}
$totalcount = 1 + $count;
return $totalcount ;
}
$left = leftcount($id);
doing -1 because in function 1 + $count.
$left = $left-1;
請不要標記複製或任何其他如果你沒有解決方案
嗨阿肖克謝謝你的回答,但出了問題! 左右計數不起作用。 – 2014-12-10 23:38:32
Allcount工作正常嗎?因爲所有其他功能都依賴於它。 – 2014-12-11 05:26:00
是的allcount工作正常。 – 2014-12-12 08:48:16