1

数日前、HighStock を発見しました。SQL データベースのデータを使用したい。PHP経由で情報を読み取り、JSONスタイルでエコーします

ここにスクリプトがあります

<?php
include ("dbverbindung.php");
echo "[";
$sql = "SELECT time, amperage FROM pikkertonnode_44664399";
$erg = mysql_query($sql);
while ($data= mysql_fetch_array($erg))
{
if ($data['amperage'] == "") $data['amperage'] = 0;
echo "[".$data['time'].",".$data['amperage']."],"   ;
}
echo "]";    ?>

出力は次のようになります。

[[1264978800000,68],[1264978805000,50],[1264978810000,61],[1264978815000,54]]

これは正しいです?

4

3 に答える 3

0

JSON を手動で作成する代わりに、json_encode. 配列を好きなように作成してから、PHP でエンコードします。

<?php
include ("dbverbindung.php");
$sql = "SELECT time, amperage FROM pikkertonnode_44664399";
$erg = mysql_query($sql);

$json = array();
while ($data= mysql_fetch_array($erg)){
    if ($data['amperage'] == ""){
        $data['amperage'] = 0;
    }

    $json[] = array($data['time'], $data['amperage']);
}

echo json_encode($json);
?>
于 2013-01-07T17:19:30.613 に答える
0

Ok。問題は、Highchart/Highstock が文字列を取らないことでした。JSONdata は正しく生成されました

例 [["123","12"],["123","12"],["123","12"]]

しかし、それは「」では役に立たない

コードは次のようになります

while ($data= mysql_fetch_array($erg)){
if ($data['amperage'] == ""){
    $data['amperage'] = 0;
}
$x = $data['time'];
$y = $data['amperage'];

$json[] = array( (int($x), int($y) );
}

そして今、私は必要なコードを持っています.. Highstock は完全に動作するようになりました

[[123,12],[123,12],[123,12]]

于 2013-01-11T13:37:58.010 に答える
0

これを使って:

<?php
include ("dbverbindung.php");
echo "[";
$sql = "SELECT time, amperage FROM pikkertonnode_44664399";
$erg = mysql_query($sql);
$temp_array=array();
while ($data= mysql_fetch_array($erg))
{
array_push(temp_array,data);
}
echo json_encode($temp_array);   // make json data
?>

どちらの形式も正しい..

{                                 [
  {'1264978800000':'68'},           [1264978800000,68],
  {'1264978805000':'50'},           [1264978805000,50],
  {'1264978810000':'61'},           [1264978810000,61],
  {'1264978815000':'54'}            [1264978815000,54], 
}                                 ]
于 2013-01-07T17:11:59.017 に答える