-
Anonymous
Json из запроса sql не может предоставить ожидаемый результат
Сообщение
Anonymous »
Файл data.php:
Код: Выделить всё
$sql = "SELECT [name],[Prev Year],[PY_mkr_col],[PY_sg_col] FROM
dbo.s5_test";
$result = sqlsrv_query($con, $sql);;
$category = array(); $category['name'] = 'month';
$series1 = array();
$series1['name'] = 'Prev Year';
$series1['color'] = 'PY_mkr_col';
$series1['segmentColor'] = 'PY_sg_col';
while($r = sqlsrv_fetch_array($result))
{
$category['data'][] = $r['name'];
$series1['data'][] = $r['Prev Year'];
}
$result = array();
array_push($result,$category);
array_push($result,$series1);
print json_encode($result, JSON_NUMERIC_CHECK);
sqlsrv_close($con);
?>
Вывод Json:
Код: Выделить всё
[{"name":"month","data":
["Apr","May","Jun","Jul","Aug","Sep","Oct","Nov","Dec","Jan","Feb","Mar"]},
{"name":"Prev Year","color":"PY_mkr_col","segmentColor":"PY_sg_col","data":
[140,154,138,173,144,148,168,130,143,137,171,125]}]
Ожидаемый результат:
PY_mkr_col и PY_sg_col должны содержать приведенные ниже значения
PY_mkr_col:
Код: Выделить всё
['rba(128,128,128,0)', green,
'blue','rba(128,128,128,0)', green, 'blue','rba(128,128,128,0)', green,
'blue','rba(128,128,128,0)', green, 'blue']
PY_sg_col:
Код: Выделить всё
[#FF0000, #008000,#FF0000, #008000,#FF0000,
#008000,#FF0000, #008000,#FF0000, #008000,#FF0000, #008000]
В таблице SQL значения «rba(128,128,128,0)», «green» и #FF0000 отформатированы как nvarchar(40).
Этот вывод Json будет передан как Series[] в highcharts с библиотекой Multi_color.js.
Подробнее здесь:
https://stackoverflow.com/questions/449 ... ted-output
1732746881
Anonymous
Файл data.php:
[code]$sql = "SELECT [name],[Prev Year],[PY_mkr_col],[PY_sg_col] FROM
dbo.s5_test";
$result = sqlsrv_query($con, $sql);;
$category = array(); $category['name'] = 'month';
$series1 = array();
$series1['name'] = 'Prev Year';
$series1['color'] = 'PY_mkr_col';
$series1['segmentColor'] = 'PY_sg_col';
while($r = sqlsrv_fetch_array($result))
{
$category['data'][] = $r['name'];
$series1['data'][] = $r['Prev Year'];
}
$result = array();
array_push($result,$category);
array_push($result,$series1);
print json_encode($result, JSON_NUMERIC_CHECK);
sqlsrv_close($con);
?>
[/code]
Вывод Json:
[code][{"name":"month","data":
["Apr","May","Jun","Jul","Aug","Sep","Oct","Nov","Dec","Jan","Feb","Mar"]},
{"name":"Prev Year","color":"PY_mkr_col","segmentColor":"PY_sg_col","data":
[140,154,138,173,144,148,168,130,143,137,171,125]}]
[/code]
Ожидаемый результат:
PY_mkr_col и PY_sg_col должны содержать приведенные ниже значения
PY_mkr_col:
[code] ['rba(128,128,128,0)', green,
'blue','rba(128,128,128,0)', green, 'blue','rba(128,128,128,0)', green,
'blue','rba(128,128,128,0)', green, 'blue']
[/code]
PY_sg_col:
[code] [#FF0000, #008000,#FF0000, #008000,#FF0000,
#008000,#FF0000, #008000,#FF0000, #008000,#FF0000, #008000]
[/code]
В таблице SQL значения «rba(128,128,128,0)», «green» и #FF0000 отформатированы как nvarchar(40).
Этот вывод Json будет передан как Series[] в highcharts с библиотекой Multi_color.js.
Подробнее здесь: [url]https://stackoverflow.com/questions/44931291/json-out-from-sql-query-unable-to-deliver-the-expected-output[/url]