递归树总子数。这不是二叉树子PHP

时间:2015-03-30 19:30:47

标签: php c++ mysql data-structures tree

我正在处理一个以递归方式存储数据的项目。 有这样一棵树。 Tree View

我想在每个节点获得总子子计数。 我有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;

        }
       } 

这段代码会重复但不能在循环中为多个子节点工作。任何可能的方法摆脱这个? 这是我的表结构。

enter image description here

我在" Do-while"中实现了这个代码。循环所以这显示计数为第二级。但不是整棵树计数。?

0 个答案:

没有答案