資料庫查詢結果如下:
要把它轉化為如下格式的json,第一個屬性是日期對應的unix時間戳記,第二個是sales
0group by outdate";$query = mssql_query($sql_initbest);while($row=mssql_fetch_array($query)){array_push($result["data"] , $row);}echo json_encode($result);?>
不知道該怎麼轉日期格式,拼接的json格式也不對求大神指教下
回複討論(解決方案)
sales 列的值怎麼變小啦?
sales 列的值怎麼變小啦?
不是變了...是不知道怎麼拼接json
我現在是拼接字串 但日期格式不和要求,
0group by outdate";$query = mssql_query($sql_initbest);$items=array();echo "{'data':";while($row=mssql_fetch_array($query)){echo "[".strtotime($row["outdate"]).",".$row["sales"]."],\n";}echo "]}";?>
while($row=mssql_fetch_array($query)){ $result["data"][] = array( strtotime($row["outdate"]).'000', $row["sales"] );}echo json_encode($result);
拚成??呢?
$arr = array('data' => array(array('1161043200000,74.29'),array('1161043200001,74.53'),array('1161043200002,78.99'),array('1161043200003,79.95')));echo json_encode($arr);
while($row=mssql_fetch_array($query)){ $result["data"][] = array( strtotime($row["outdate"]).'000', $row["sales"] );}echo json_encode($result);
格式不對,裡面的時間戳記和sales要求是數字類型的
不可能的!貼出記得輸出結果
按 json 格式規範,無論是鍵還是值都應用雙引號括起(雖然允許數實值型別不用引號)
所以你不能從字面上判斷某個數字串的資料類型
如果你要數字,可以使用floatval轉成數字。
while($row=mssql_fetch_array($query)){ $result["data"][] = array( floatval(strtotime($row["outdate"]).'000'), floatval($row["sales"]) );}echo json_encode($result);
輸出這個是什嗎?$result["data"]
感謝大家!
while($row=mssql_fetch_array($query)){$result["data"][] = array( strtotime($row["outdate"]).'000', ceil($row['sales']) );}echo json_encode($result);
結果為:
highcharts使用是要把json中的雙引號去掉。