Моя проблема заключается в следующем:Highcharts ошибка массива Месяц/множественным данные
У меня есть база данных, которая дает мне два набора данных, как показано на рисунке ниже:
http://i.imgur.com/tlVtVTX.png
Я могу» t вполне понятно, если здесь проблема с PHP/JSON или SQL. Мне известно, что в моих наборах данных JSON должно быть несколько данных, например:
[{"name": "Person1", " данные ": [123123 и т. д. и т. д. и т. д.]}
Моя проблема заключается в том, что он показал, как:
[{ "Имя": "Person1", "данные": [123123]}
[{ "Имя": "Person1",» данные ": [2345436]}
JSON (измененные имена и номера для вопросов конфиденциальности):
[{"name":"Person1","data":[123123]},{"name":"Person1","data":[123123]}
,{"name":"Person2","data":[123123]},{"name":"Person2","data":[123123]}
,{"name":"Person3","data":[123123]},{"name":"Person3","data":[123123]}
,{"name":"Person4","data":[123123]},{"name":"Person4","data":[123123]}]
SQL (также изменен, должен быть тот же запрос, хотя):
$SQL = "SELECT ISNULL(USERNAME) AS Accountmanagers, xMonth AS xMonth, ROUND(SUM(report.[FATDOLLARS(EUR)]), 0) AS COGS
FROM SecretDB
WHERE xYear = '2013'
GROUP BY ISNULL(USERNAME), xMonth
ORDER BY ISNULL(USERNAME), xMonth
мой запрос выглядит следующим образом:
http://i.imgur.com/q4QCsRF.png
Это PHP я использую для моих JSON данных:
while($row = sqlsrv_fetch_array($somevariablehere, SQLSRV_FETCH_ASSOC))
{
$name = $row['Accountmanagers'];
$categories = array($row['xMonth']);
$data = array($row['COGS']);
$arr[] = array('name' => $name, 'data' => $data);
}
$arr = json_encode($arr, JSON_NUMERIC_CHECK);
echo $arr;
HighChart ("Серия: JSON" заменяется фиктивными данными) :
<script>
$(function() {
var chart3;
$(document).ready(function() {
// $.getJSON("account.php", function(json) {
chart3 = new Highcharts.Chart({
chart: {
renderTo: 'accountmanagers',
type: 'column'
},
title: {
text: '2012'
},
xAxis: {
categories: ['Jan', 'Feb', 'Mar', 'Apr', 'May', 'Jun', 'Jul', 'Aug', 'Sep', 'Okt', 'Nov', 'Dec'],
title: { text: 'Month'}
},
yAxis: {
min: 0,
title: {
text: 'Revenue'
}
},
legend: {
layout: 'vertical',
backgroundColor: '#FFFFFF',
align: 'left',
verticalAlign: 'top',
x: 100,
y: 70,
floating: true,
shadow: true
},
tooltip: {
formatter: function() {
return '<b>'+ this.series.name +'</b><br/>'+
this.x +': '+ this.y +'€';
}
},
plotOptions: {
column: {
pointPadding: 0.2,
borderWidth: 0
}
},
series: [{"name":"Person1","data":[12528]},{"name":"Person1","data":[2658]},{"name":"Person2","data":[27368]},{"name":"Person2","data":[30793]},{"name":"Person3","data":[64987]},{"name":"Person3","data":[21582]},{"name":"Person4","data":[53735]},{"name":"Person4","data":[14810]}]
});
// });
});
});
</script>
Я не знаю, нужна ли вам дополнительная информация, если да, позвольте мне k Теперь.
Я хочу совместить значения Person или Accountmanager и, разумеется, распространять их в течение месяцев, вместо того, чтобы создавать новые ряды для каждой информации.
Заранее спасибо :-)
Да, я знаю, что каждый человек должен иметь несколько наборов данных, например. [{"name": "Person1", "data": [123123, 34567, etc, etc,]}] Моя проблема заключается в том, что я получаю данные другим способом, как я могу это исправить? – nielskildsgaard
Ваш запрос выглядит хорошо.Проблема заключается в php, где вы создаете, вы получаете отдельные строки для данных каждого месяца, которые вам нужны для создания отдельного массива данных для каждого пользователя, который имеет свои данные за каждый месяц. – Meherzad
Звучит примерно правильно. Как я могу это сделать? Я еще не профессионал с php :-) Я не знаю, ясно ли это или нет, но таблица xMonth - это всего лишь цифры от 1 до 12 – nielskildsgaard