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

0

Я создаю простой отчет, который я хочу связать с google api для создания линейного графика с данными, я довольно новичок в 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
    И каков вывод вашей print json_encode(graphdata());
  • 0
    Ничего не выводится. Я только что загрузил новую версию с отчетами об ошибках. Я только что обновил свой исходный пост сообщением об ошибке, которую я получаю.
Показать ещё 3 комментария
Теги:
arrays
google-visualization

1 ответ

1
Лучший ответ

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

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

global $conn;

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

function graphdate($conn)

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

  • 0
    Привет, фол ... Я новичок в php, как бы я использовал глобальный $ conn ???
  • 0
    Привет, Фол ... Я разобрал это сейчас, спасибо большое.

Ещё вопросы

Сообщество Overcoder
Наверх
Меню