MySQL Рекурсивный Get Right Nodes Переполнение стека

У меня есть таблица, содержащая идентификатор пользователя с левым узлом и правым узлом (оба идентификатора пользователя). Я пытаюсь создать функцию для подсчета всех правильных узлов и общего количества узлов определенного идентификатора пользователя в PHP.

Код, который я написал до сих пор, который всегда возвращает 0:

function allcount($id)   //Function to calculate all children count
{
$sqlz = "SELECT * FROM user_transaction_details WHERE user_id = '$id'";
$execsql = mysqli_query($conn,$sqlz);
$array = mysqli_fetch_array($execsql);
echo $sqlz;
(array_count_values($array));
$count = 0;
echo $array['l_node'];
if(!empty($array['l_node']))
{
$count += allcount($array['l_node']) +1;
}
if(!empty($array['r_node']))
{
$count += allcount($array['r_node']) +1;
}
return $count;
}

Вот структура таблицы:

Структура таблицы

Может кто-нибудь, пожалуйста, помогите.

0

Решение

Вам нужно пройти $conn в качестве аргумента или объявить его как глобальный внутри функции, потому что в противном случае он не доступен внутри функции.

0

Другие решения

Других решений пока нет …