ホームページ >バックエンド開発 >PHPチュートリアル >PHP はデータベースクエリ結果を JSON 形式に変換します
データベースのクエリ結果は次のとおりです。
次の形式で 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); ?>
なぜ売上列の値が小さくなったのでしょうか?
売上列の値が小さくなるのはなぜですか?
<?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);