i have two table, Car and Vendor
table: Car
---------------------------
| carID | carBrand |
---------------------------
| 1 | Volvo |
---------------------------
| 2 | BMW |
---------------------------
| 3 | Mercedes |
---------------------------
table: Vendor
----------------------------------------------------
| vendorID | vendorName | telephone | carID |
----------------------------------------------------
| 1 | Jusoh Trading | 12345 | 1 |
----------------------------------------------------
| 2 | Ibrahim and Sons | 34566 | 1 |
----------------------------------------------------
| 3 | GMC Auto | 566444 | 2 |
----------------------------------------------------
| 4 | Perodua Services | 456666 | 3 |
----------------------------------------------------
| 5 | AMG Specs | 5666 | 3 |
----------------------------------------------------
im using sql query (codeigniter) to produce output using json. By using the output, i will create a chart which is my plugins required array format. My success output using my above sql & json encode is as below:
[
{
"carBrand": "Volvo",
"carID": "1"
},
[
{
"vendorID": "1",
"vendorName": "Jusoh Trading"
},
{
"vendorID": "2",
"vendorName": "Ibrahim and Sons"
}
],
{
"carBrand": "BMW",
"carID": "2"
},
[
{
"vendorID": "3",
"vendorName": "GMC Auto"
}
],
{
"carBrand": "Mercedes",
"carID": "3"
},
[
{
"vendorID": "4",
"vendorName": "Perodua Services"
},
{
"vendorID": "5",
"vendorName": "AMG Specs"
}
]
]
my code to generate the output:
$data = array();
$this->db->select("carBrand, carID");
$this->db->from('car');
$query = $this->db->get();
$result = $query->result();
foreach ($result as $row):
$data[] = $row;
$this->db->select("vendorID, vendorName");
$this->db->from('vendor');
$this->db->where('carID',$row->carID);
$query = $this->db->get();
$res = $query->result();
$child = array();
foreach ($res as $val):
$child[] = $val;
endforeach;
array_push($data, $child);
endforeach;
echo json_encode($data);
exit;
But my problem is, the map plugins required a bit different format. I need to change a little bit to my output format. The exactly format i need as below:
[
{
"carBrand": "Volvo",
"vendorlist": [
{
"vendorID": "1",
"vendorName": "Jusoh Trading"
},
{
"vendorID": "2",
"vendorName": "Ibrahim and Sons"
}
]
},
{
"carBrand": "BMW",
"vendorlist": [
{
"vendorID": "3",
"vendorName": "GMC Auto"
}
]
}
# .. other data .. #
];
i need to remove "carID" and add 'vendorlist' .. i need suggestion to modify my code. thank you
</div>