The object I get back from my sql query is a single row with about 50 columns. It returns an object like this:
[
{
"State": "Alabama",
"State Abbrev": "AL",
"County": "Madison",
"FIPS": "01089",
"msa": "3440",
"msaname": "HUNTSVILLE, AL",
"cbsa": "26620",
"cbsaname": "Huntsville, AL",
"Population": "346892",
"Length of Life Rank": "4",
"Quality of Life Rank": "6",
}
]
What I need is a format like this:
[
{ “column”: “State”, “value”: “Alabama” },
{ “column”: “State Abbrev”, “value”: “AL” },
...
]
How can I transpose the result to match my requirements? I'm getting the data like so:
$sql4 = "SELECT d.* FROM `mytable` s
INNER JOIN `secondtable` c ON
c.`zip_code` = s.`zip_code`
INNER JOIN `anothertable` d ON
d.`fips` = c.`fips`
WHERE s.`ID` = '{$prov_number1}' group by `ID`";
$result4 = $dbh->query($sql4)->fetchAll(PDO::FETCH_ASSOC);
$data['demo_info'] = $result4;
header('Content-type: application/json');
echo json_encode($data);
EDIT: some good answers, but I think my results are coming back wrong because my data is stuctured differently than what I have above. If I var_dump
$result4
, the structure is more like this:
array(1) {
[0]=>
array(93) {
["State"]=>
string(7) "Alabama"
["State Abbrev"]=>
string(2) "AL"
["County"]=>
string(7) "Madison"
["FIPS"]=>
string(5) "01089"
["msa"]=>
string(4) "3440"
["msaname"]=>
string(14) "HUNTSVILLE, AL"
["cbsa"]=>
string(5) "26620"
}}
I'm thinking this might change the answers, as I've tried a few and get nothing in the "column" and all my data crammed into the "values".