0

First post here, so please bear with me.

I'm trying to create a treeview using bootstrap-treeview and I've nearly got my response page working but level 3 isn't, I can't get the next node working.

<?php
ini_set('display_errors', 1);
ini_set('display_startup_errors', 1);
error_reporting(E_ALL);

include "db_mysqli.php";

$result = mysqli_query($connection, "SELECT group_id, group_name FROM material_groups;"); 
    $json_response = array(); //Create an array
    while ($row = mysqli_fetch_array($result))
    {
        // GROUPs
        $row_array = array();
        $row_array['id'] = $row['group_id'];        
        $row_array['text'] = $row['group_name'];
        $row_array['name'] = $row['group_name'];
        $row_array['parent_id'] = $row['group_id'];
        // $row_array['answers'] = array();
        $group_id = $row['group_id'];  
        // MATERIAL TYPES
        $type_qry = mysqli_query($connection, "SELECT material_types.material_type_id, material_groups.group_id, material_types.material_type_name FROM material_groups 
        INNER JOIN material_types ON material_groups.group_id = material_types.group_id 
        WHERE material_groups.group_id = ".$group_id."
        ORDER BY material_types.material_type_id");
        
        while ($type_row = mysqli_fetch_array($type_qry))
        {
            $row_array['nodes'][] = array(
                // $itemsByReference[$item['id']]['nodes'] = array();
                'id' => $type_row['material_type_id'],
                'text' => $type_row['material_type_name'],
                'name' => $type_row['material_type_name'],
                'parent_id' => $type_row['group_id'],
                
            );
            $material_type_id = $type_row['material_type_id'];
            // MATERIALS
            $material_qry = mysqli_query($connection, "SELECT material_types.material_type_id, material_groups.group_id, materials.material_name, materials.material_id 
            FROM material_types INNER JOIN materials ON material_types.material_type_id = materials.material_type_id 
            INNER JOIN material_groups ON material_types.group_id = material_groups.group_id And materials.group_id = material_groups.group_id
            WHERE material_types.material_type_id = ".$material_type_id." AND material_groups.group_id =".$group_id);            
            
            while ($material_row = mysqli_fetch_array($material_qry))
            {
                $row_array['nodes'][] = array(
                    'id' => $material_row['material_id'],
                    'text' => $material_row['material_name'],
                    'parent_id' => $material_row['material_type_id']
                );
                $mateial_id = $material_row['material_id'];        
            }        
        }
        array_push($json_response, $row_array); //push the values in the array
    }
    echo json_encode($json_response);
?>    

Levels 1 and 2 work perfectly, any help would be greatly appreciated.

Thanks

I've tried a lot of different code but this was the closest to a working solution.

Jason Aller
  • 3,541
  • 28
  • 38
  • 38
alexw1983
  • 1
  • 1

0 Answers0