Reputation: 355
I am trying to get proper Json data from mysql. I made a lot of progress. Take a look;
I have table like below:
name folder path
RayMala 787 01.jpg,02.jpg,03.jpg,04.jpg,05.jpg...
RayMala 788 01.jpg,02.jpg,03.jpg,04.jpg,05.jpg,06.jpg...
Falitiko 332 01.jpg...
Falitiko 333 01.jpg,02.jpg...
My Current Code:Making array from single table cell.
$rows = array();
while($r = mysqli_fetch_assoc($result)) {
$rows[] = $r;
}
$nArray = array();
foreach($rows as $value){
$nArray[] = array('name' => $value['name'], 'folder' => $value['folder'], 'path' => explode(",", $value['path']));
}
print json_encode($nArray);
Current JSON Output:See name value repeating.
[
{
"name": "RayMala",
"folder": "787",
"Paths": ["1.jpg", "2.jpg", "3.jpg"]
},
{
"name": "RayMala",
"folder": "788",
"Paths": ["1.jpg", "2.jpg", "3.jpg"]
},
{
"name": "Falitiko",
"folder": "333",
"Paths": ["1.jpg", "2.jpg", "3.jpg"]
}
]
Wanted JSON Output:
[
{
"name":"RayMala",
"random": [
{
"folder": "787",
"Paths": ["1.jpg", "2.jpg", "3.jpg"]
},
{
"folder": "788",
"Paths": ["1.jpg", "2.jpg", "3.jpg"]
}
]
},
{
"name":"Falitiko",
"random": [
{
"folder": "332",
"Paths": ["1.jpg", "2.jpg", "3.jpg"]
},
{
"folder": "333",
"Paths": ["1.jpg", "2.jpg", "3.jpg"]
}
]
}
]
Upvotes: 2
Views: 1023
Reputation: 1001
$nArray = array();
while($r = mysqli_fetch_assoc($result)) {
$nArray[$r["name"]][] = array('folder' => $r['folder'], 'path' => explode(",", $r['path']));
}
$output_arr = array();
foreach($nArray as $key=>$value){
$output_arr[]=array("name"=>$key,"random"=>$value);
}
echo json_encode($output_arr);
Upvotes: 2