Reputation: 930
I am trying to just add array for data in a specific string in a json response like for example in a bus category i have different brands and in bus i have different equipment.
expecting output
[{
"category_id": "1",
"bus_name": "Volvo1",
"objective": "{'Baggage','seat','water'}"
}, {
"category_id": "2",
"bus_name": "BMW1",
"objective": "{'test tire','call Driver','pick up time'}"
}]
current output
{
"bus_name": ["Volvo1", "BMW1"],
"category_id": ["1", "2"],
"objective": ["test tire", "call Driver", "pick up time"]
}
Anant output:
{
"bus_name": ["Volvo1", "BMW1"],
"category_id": ["1", "2"],
"0": {
"objective": "Baggage,seat,water"
},
"1": {
"objective": "test tire ,call Driver ,pick up time"
}
}
My code:
$response = array();
$query="select DISTINCT bus_name,category_id from testtable";
$num= $db->num_rows($query);
if($num)
{
$rows = $db->get_results($query);
$bus_name =array();
foreach($rows as $k=>$row1) {
$bus_name =$row1['bus_name'];
$response['bus_name'][$k]=$row1['bus_name'];
$response['category_id'][$k]=$row1['category_id'];
$query="select * from testtable where bus_name='$bus_name'";
$num= $db->num_rows($query);
if($num)
{
$rows = $db->get_results($query);
foreach($rows as $k=>$row1)
{
$response['objective'][$k] =$row1['objective'];
}
}
}
}
Upvotes: 1
Views: 511
Reputation: 96
try this,,,
$response = array();
$query="select DISTINCT bus_name,category_id from testtable";
$num= $db->num_rows($query);
if($num)
{
$rows = $db->get_results($query);
$bus_name =array();
foreach($rows as $k=>$row1) {
$bus_name =$row1['bus_name'];
$response[$k]['bus_name']=$row1['bus_name'];
$response[$k]['category_id']=$row1['category_id'];
$query="select * from testtable where bus_name='$bus_name'";
$num= $db->num_rows($query);
if($num)
{
$rows = $db->get_results($query);
foreach($rows as $k=>$row1)
{
$response[$k]['objective'] =$row1['objective'];
}
}
}
}
Upvotes: 1