2
我正在構建一個流程圖(非常類似於Sankey圖表),但我在處理數據時遇到了一些麻煩。逗號分隔的步驟,具有相同的值的多個步驟
我從API調用中獲取JSON文件。我正在使用PHP腳本將JSON輸出存儲在MySQL數據庫中。
的問題是佈局,因爲它是現在:
('A, B, C, D, E, F', 123456),
('A, B, C, D', 6543),
('B, C', 94934),
我需要什麼(我想單獨分割的每一步,但需要的價值爲每一步創建TE流程圖) 。
('A, B', 123456),
('B, C', 123456),
('C, D', 123456),
('D, E', 123456),
('E, F', 123456),
('A, B', 6543),
('B, C', 6543),
('C, D', 6543),
('B, C', 94934)
JSON到數據庫
$json_data = file_get_contents($CALL);
$json_data = str_replace("'","",$json_data);
$array = json_decode($json_data,true);
$sql_inserts = array();
foreach($array['reportitems']['reportitem'][0]['rows']['r'] AS $row)
{
$sql_inserts[] = "('".$row[c][0]."','".$row[c][1]."')";
};
$sql = 'INSERT INTO flow (flow,number) VALUES '.implode(",",$sql_inserts);
if (mysqli_query($conn, $sql)) {
echo "Ok";
} else {echo "<Error" . mysqli_error($conn) ;}
mysqli_close($conn);
輸出API調用 - JSON
{
"reportitems": {
"@count": "1",
"reportitem": [
{
"columns": {
"@count": "2",
"column": [
{
"ctitle": "flow",
"type": "track",
"alignment": "left"
},
{
"ctitle": "number",
"type": "integer",
"alignment": "right"
}
]
},
"title": "flow",
"statistics": {
"total": {
"c": [
"",
"10813438"
]
},
"maximum": {
"c": [
"",
"2482782"
]
},
"average": {
"c": [
"",
"29"
]
},
"minimum": {
"c": [
"",
"1"
]
}
},
"rows": {
"@count": "3",
"r": [
{
"c": [
"A, B, C, D, E, F",
"123456"
]
},
{
"c": [
"A, B, C, D",
"6543"
]
},
{
"c": [
"B, C",
"94934"
]
}
]
}
}
]
}
}
我在哪裏需要解決這一問題?將JSON輸出寫入MySQL數據庫的腳本?或者從數據庫查詢sankey圖表(期望分離的格式)?
這是偉大的東西!這總比你想象的要容易。 – Glarp
非常真實。有時候,棘手的問題似乎很容易,而且很容易解決。:) –