'How can I generate specific data structure using mysql and php

Below is my database structure and after that my required output. Since few days, I am not getting any logic to resolve

{
    "LIST": [
        {
            "ID": "1",
            "PID": "1",
            "PLID": "1",
            "name": "BRAND",
            "value": "Dell"
        },
        {
            "ID": "2",
            "PID": "1",
            "PLID": "1",
            "name": "PROCESSOR",
            "value": "Dual Core"
        },
        {
            "ID": "3",
            "PID": "1",
            "PLID": "1",
            "name": "RAM",
            "value": "4 GB"
        },
        {
            "ID": "4",
            "PID": "1",
            "PLID": "1",
            "name": "HARD DISK",
            "value": "500 GB HDD"
        },
        {
            "ID": "5",
            "PID": "1",
            "PLID": "2",
            "name": "BRAND",
            "value": "Dell"
        },
        {
            "ID": "6",
            "PID": "1",
            "PLID": "2",
            "name": "PROCESSOR",
            "value": "Dual Core"
        },
        {
            "ID": "7",
            "PID": "1",
            "PLID": "2",
            "name": "RAM",
            "value": "8 GB"
        },
        {
            "ID": "8",
            "PID": "1",
            "PLID": "2",
            "name": "HARD DISK",
            "value": "500 GB HDD"
        },
        {
            "ID": "9",
            "PID": "1",
            "PLID": "3",
            "name": "BRAND",
            "value": "Dell"
        },
        {
            "ID": "10",
            "PID": "1",
            "PLID": "3",
            "name": "PROCESSOR",
            "value": "Dual Core"
        },
        {
            "ID": "11",
            "PID": "1",
            "PLID": "3",
            "name": "RAM",
            "value": "4 GB"
        },
        {
            "ID": "12",
            "PID": "1",
            "PLID": "3",
            "name": "HARD DISK",
            "value": "1 TB HDD"
        },
        {
            "ID": "13",
            "PID": "1",
            "PLID": "4",
            "name": "BRAND",
            "value": "Dell"
        },
        {
            "ID": "14",
            "PID": "1",
            "PLID": "4",
            "name": "PROCESSOR",
            "value": "Dual Core"
        },
        {
            "ID": "15",
            "PID": "1",
            "PLID": "4",
            "name": "RAM",
            "value": "8 GB"
        },
        {
            "ID": "16",
            "PID": "1",
            "PLID": "4",
            "name": "HARD DISK",
            "value": "1 TB HDD"
        },
        {
            "ID": "17",
            "PID": "1",
            "PLID": "5",
            "name": "BRAND",
            "value": "Dell"
        },
        {
            "ID": "18",
            "PID": "1",
            "PLID": "5",
            "name": "PROCESSOR",
            "value": "i3"
        },
        {
            "ID": "19",
            "PID": "1",
            "PLID": "5",
            "name": "RAM",
            "value": "4 GB"
        },
        {
            "ID": "20",
            "PID": "1",
            "PLID": "5",
            "name": "HARD DISK",
            "value": "500 GB HDD"
        },
        {
            "ID": "21",
            "PID": "1",
            "PLID": "6",
            "name": "BRAND",
            "value": "Dell"
        },
        {
            "ID": "22",
            "PID": "1",
            "PLID": "6",
            "name": "PROCESSOR",
            "value": "i3"
        },
        {
            "ID": "23",
            "PID": "1",
            "PLID": "6",
            "name": "RAM",
            "value": "8 GB"
        },
        {
            "ID": "24",
            "PID": "1",
            "PLID": "6",
            "name": "HARD DISK",
            "value": "500 GB HDD"
        },
        {
            "ID": "25",
            "PID": "1",
            "PLID": "7",
            "name": "BRAND",
            "value": "Dell"
        },
        {
            "ID": "26",
            "PID": "1",
            "PLID": "7",
            "name": "PROCESSOR",
            "value": "i3"
        },
        {
            "ID": "27",
            "PID": "1",
            "PLID": "7",
            "name": "RAM",
            "value": "4 GB"
        },
        {
            "ID": "28",
            "PID": "1",
            "PLID": "7",
            "name": "HARD DISK",
            "value": "1 TB HDD"
        },
        {
            "ID": "29",
            "PID": "1",
            "PLID": "8",
            "name": "BRAND",
            "value": "Dell"
        },
        {
            "ID": "30",
            "PID": "1",
            "PLID": "8",
            "name": "PROCESSOR",
            "value": "i3"
        },
        {
            "ID": "31",
            "PID": "1",
            "PLID": "8",
            "name": "RAM",
            "value": "8 GB"
        },
        {
            "ID": "32",
            "PID": "1",
            "PLID": "8",
            "name": "HARD DISK",
            "value": "1 TB HDD"
        }
    ]
}


and I want the data in the below format.The desired output is like brand with all processor list, all processor with available ram list and all ram with available HDD options.

brand{
  
   dell{i5,i3}  
}
processor{
    i5{4gb,8gb}
    i3{4gb,16gb}
}
ram{
  4gb{500,1tb}
  8gb{500,1tb}
  16gb{500,2tb,1tb}
}

I tried few sql query, but I am not able to create logic for above structure

SELECT DISTINCT(PLID) as PLID FROM `variant` where PID=1


SELECT DISTINCT(name) as name FROM `variant` where PID=1

SELECT DISTINCT(value) as value FROM `variant` where PID=1 and PLID in (1,2,3,4,5,6,7,8) and name="PROCESSOR"

Thankyou



Sources

This article follows the attribution requirements of Stack Overflow and is licensed under CC BY-SA 3.0.

Source: Stack Overflow

Solution Source