Народ, подскажите как быть?
Ошибка возникает в строке
$data = get_node_data($parent_category_id);
, пишет Uncaught Error: Call to undefined function get_node_data()
function get_category_tree()
{
global $connection;
$parent_category_id = 0;
$query = "SELECT * FROM category";
$res = mysqli_query($connection, $query);
$result = mysqli_fetch_all($res);
foreach ($result as $row) {
$data = get_node_data($parent_category_id);
}
return $data;
function get_node_data($parent_category_id)
{
global $connection;
$query = "SELECT * FROM category WHERE parent_id = '$parent_category_id'";
$res = mysqli_query($connection, $query);
$output = array();
while ($row = mysqli_fetch_assoc($res)) {
$sub_array = array();
$sub_array['text'] = $row['title'];
$sub_array['type'] = $row['category_type'];
$sub_array['nodes'] = array_values(get_node_data($row['id']));
$output[] = $sub_array;
}
return $output;
}
}
Хотя если убрать
function get_category_tree(){
}
т.е. запускать не как функцию, а просто код и вместо
return $data;
, использовать
echo json_encode(array_values($data), JSON_UNESCAPED_UNICODE);
, то всё работает
Что нужно подправить, чтобы вызвать функцию внутри функции?