ホームページ >バックエンド開発 >PHPチュートリアル >PHP はデータベースクエリ結果を JSON 形式に変換します

PHP はデータベースクエリ結果を JSON 形式に変換します

WBOY
WBOYオリジナル
2016-06-23 13:46:111521ブラウズ

データベースのクエリ結果は次のとおりです。
次の形式で json に変換するには、最初の属性は日付に対応する UNIX タイムスタンプ、2 番目の属性は sales です

<?phpinclude_once 'DB_connmssql.php';header("Content-Type:text/html;charset=utf-8");		$sql_initbest="		select outdate,SUM(nb*endprice) sales from BI_salewhere endprice<>0group by outdate";		$query = mssql_query($sql_initbest);				while($row=mssql_fetch_array($query)){					array_push($result["data"] , $row);		}							echo json_encode($result);		?>

を変換する方法がわかりませんdate形式を結合されたjson形式に変換します 専門家にアドバイスを求めているわけではありません


ディスカッションに返信(解決策)

なぜ売上列の値が小さくなったのでしょうか?

売上列の値が小さくなるのはなぜですか?


変わったわけではありません... JSON の結合方法がわからないだけです
今文字列を結合していますが、日付の形式が要件を満たしていません。
<?phpinclude_once 'DB_connmssql172.php';header("Content-Type:text/html;charset=utf-8");		$sql_initbest="		select outdate,SUM(nb*endprice) sales from BI_salewhere endprice<>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);


形式が間違っています。内部のタイムスタンプと売上高は数値型である必要があります

不可能です!投稿するときは必ず結果を出力してください

json形式の仕様によれば、キーと値の両方を二重引用符で囲む必要があります(ただし、数値型は引用符なしでも可能です)
したがって、特定の数値のデータ型を文字通りに判断することはできませんstring

数値が必要な場合は、floatval を使用して数値に変換できます。
すごい

これの出力は何ですか? $result["data"]

皆さんありがとうございます!

while($row=mssql_fetch_array($query)){    $result["data"][] = array(  floatval(strtotime($row["outdate"]).'000'), floatval($row["sales"]) );}echo json_encode($result);

結果は次のとおりです:


highcharts の使用は、JSON 内の二重引用符を削除することです。

声明:
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。