数据库查询结果如下:
要把它转化为如下格式的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中的双引号去掉。
本文原创发布php中文网,转载请注明出处,感谢您的尊重!