我创建了一个使用递归来查找给定用户的孩子的函数。如下图所示:
function recursionFunc($param) {
$q = "select cust_id,amount,position from testtab where parent_id = $param";
$res = mysql_query($q);
static $i = 0;
while ($row = mysql_fetch_assoc($res)) {
$i++;
recursionFunc($row['cust_id']);
}
return array('totalChild'=>$i);
}
有两种情况:
- 我想为我所拥有的每个用户调用recursionFunc()
- 将进行递归以查找用户的孩子。
醇>
现在我想在while循环中调用此函数,以便获取我所拥有的所有用户的子节点。 因为我使用静态变量 $ i 来存储childs的值。
现在,当为第一个用户调用函数时,它会返回正确的childs值,但在所有其他情况下返回错误的值。
AS显示如下
$cutData = "select cust_id from testtab";
$ress = mysql_query($cutData);
while ($raw = mysql_fetch_assoc($ress)) {
$response = recursionFunc($raw['cust_id']);
echo '<pre>'.$raw['cust_id'];
print_r($response);
echo '<br>';
}
输出
1Array ( [totalChild] => 7 ) 2Array ( [totalChild] => 10 ) 3Array ( [totalChild] => 12 )
如果你可以帮助我会很棒。
提前致谢。