欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页  >  后端开发

php将数据库查询结果转换为json格式

程序员文章站 2024-02-13 22:52:46
...
数据库查询结果如下:
要把它转化为如下格式的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中的双引号去掉。