Проблема с созданием массива для изменения данных в json для Google API

Я создаю простой отчет, который я хочу связать с API Google, чтобы сгенерировать линейный график с данными, я довольно новичок в php, и я не могу получить свои данные в формате json. Согласно документации Google, формат JSON должен быть

"cols": [
{"id":"","label":"Topping","pattern":"","type":"string"},
{"id":"","label":"Slices","pattern":"","type":"number"}
],
"rows": [
{"c":[{"v":"Mushrooms","f":null},{"v":3,"f":null}]},
{"c":[{"v":"Onions","f":null},{"v":1,"f":null}]},
{"c":[{"v":"Olives","f":null},{"v":1,"f":null}]},
{"c":[{"v":"Zucchini","f":null},{"v":1,"f":null}]},
{"c":[{"v":"Pepperoni","f":null},{"v":2,"f":null}]}
]
}

Я построил запрос и протестировал его сам, и он отлично работает, моя проблема заключается в построении массива, чтобы я мог генерировать правильный код JSON. Код, который я использую для создания этого массива и кодирования в json:

function graphdata()
{
$array['cols'][] = array(
'id' => '',
'label' => 'DateCreated',
'pattern' => '',
'type' => 'string'
);
$array['cols'][] = array(
'id' => '',
'label' => 'UnitPrice',
'pattern' => '',
'type' => 'number'
);

$result = sqlsrv_query($conn, $query);
while($row = sqlsrv_fetch_object($result)){
$array['rows'][] = array (
'c' =>array(
array ('v' => $row->DateCreated->format('d-m-Y'), 'f' => ''),
array ('v' => $row->UnitPrice, 'f' => ''),
)
);
}
return $array;
}

print json_encode(graphdata());

Может кто-нибудь помочь с созданием этого массива, он, кажется, не работает вообще, но, насколько я понимаю, нет ничего, что выскакивает как неправильное, но говоря, что я очень новичок в php и, без сомнения, я сделал это неправильно, и это легко исправить.

Как примечание, я использую MSSQL.

Дополнительная информация после размещения сообщений об ошибках:

Примечание: неопределенная переменная: sqlsrv_query () ожидает, что параметр 1 будет ресурсом

0

Решение

Запросы к вашей базе данных не работают, потому что $conn переменная не определена в области действия функции.

Чтобы решить это, объявить его глобальным:

global $conn;

или добавить его в свою функцию в качестве аргумент:

function graphdate($conn)

То же самое касается вашего $query переменная.

1

Другие решения

Других решений пока нет …

По вопросам рекламы [email protected]