Я создал функцию, которая использует рекурсия для выяснения детей данного пользователя. как показано ниже :
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, чтобы получить дочерние элементы всех пользователей, которые у меня есть.
Так как я использую статическую переменную $ я хранить ценность детей.
Теперь, когда функция будет вызываться для первый пользователь возвращает правильное значение childs, но возвращает неправильное значение во всех остальных случаях.
Как показывают ниже
$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 )
Будет здорово, если ты поможешь мне.
Заранее спасибо.
Задача ещё не решена.
Других решений пока нет …