如何使用php计算父节点的所有子节点

kmpatx3s  于 2021-06-20  发布在  Mysql
关注(0)|答案(1)|浏览(321)

这是我的table

parentID   id
1          0
1          2
3          4
2          3
4          5
5          6
6          7
7          8
8          9
9         10

这是我的php代码---->

function countChildren($parentId) {

     $link=mysql_connect("localhost","root","");
     mysql_select_db("employee",$link);

     $sql = ("select id from relation where parentID='2'");
     $result=mysql_query($sql,$link);
     $count = mysql_num_rows($result);

     $userinfo = array();

     while ($row_user = mysql_fetch_assoc($result))
    {
       $userinfo[] = $row_user;
    }
    foreach($userinfo  as $userId) 
    {
       $count += countChildren($userId);
    }
return $count;

}
现在我想用上面的代码计算父节点的所有子节点,但是我的代码是give error,比如-->
致命错误:已达到最大函数嵌套级别“100”,正在中止!在c:\wamp\www\project\index.php的第7行

rekjcdws

rekjcdws1#

只需在查询中进行计数,并将父级\u id作为输入传递。使用事先准备好的陈述。

// ....

$stmt = $db->prepare("SELECT COUNT(*) childrenCount FROM relation WHERE parentID=?");
$parentID = '2'
$sth->execute(array($parentID));

// fetch the result here

$stmt->close();

相关问题