我正在处理一个以递归方式存储数据的项目。 有这样一棵树。
我想在每个节点获得总子子计数。 我有root parent_id 123456。 我得到了直接的孩子,并且有这个代码的ID。
$parentcode = "Select ref_id from Total_childs where parent_id = '" . $exactcode . "'";
$code2 = Run($parentcode);
$data = array();
if (mysql_num_rows($code2) > 0) {
while ($rowcont = mysql_fetch_object($code2)){
$data[] = $rowcont->ref_id;
}
}
data[0]
data[1]
data[2]
data[3] shows direct child.
我想获得每个节点的大孩子的总数。 这段代码播下了直接孩子的数量。
$qry_t_childs = "SELECT COUNT(*) FROM Total_childs where parent_id = '" . $exactcode . "' ";
$qry_total_childs = Run($qry_t_childs);
if (mysql_num_rows($qry_total_childs) > 0) {
while ($rowfortotalchilds = mysql_fetch_array($qry_total_childs)) {
$tot_childs_first = $rowfortotalchilds[0];
$total_childs_first = $tot_childs_first;
}
}
这段代码会重复但不能在循环中为多个子节点工作。任何可能的方法摆脱这个? 这是我的表结构。
我在" Do-while"中实现了这个代码。循环所以这显示计数为第二级。但不是整棵树计数。?