7

私は自分のアプリケーションにHighchartsを実装しています。特定の形式のデータが必要です。

私のテーブルのデータは次のとおりです

ここに画像の説明を入力してください

javascriptには以下の形式のデータが必要です

ここに画像の説明を入力してください

配列と配列を使用するとvar_dump、以下の結果が得られますx_axisy_axis

ここに画像の説明を入力してください

配列要素をフォーマットし、そのフォーマットでそのJavaScriptに渡すために、どのphp関数を使用する必要がありますか?

data:[
     [<? echo PHP_some_function(" ' ", x_axis) ?>, <? echo (y_axis) ?>]   //quotes for x, no quotes for y value
]  //Moreover it should run for all the values in x_axis and y_axis

ここにロジックが必要です。

私の最終的なグラフは次のようになります

ここに画像の説明を入力してください

4

4 に答える 4

2

問題はあなたの質問です。

次のようになります。

SELECT x_axis, y_axis FROM yourTableName;

このようにして、必要な形式を正確に取得できますHighcharts。配列内に挿入するだけです。

于 2012-12-20T19:07:39.477 に答える
1

[<? echo "'". json_encode($x_axis). "', " . json_encode($y_axis) ?>]

デモ:http ://codepad.org/G5JAtXWu

私が混乱したニックス。

あなたがしたいことはこれです:

foreach($x_axis as $key=>$x) {
    echo "['" . $x . "', " . $y_axis[$key] . "]";
}

デモ:http ://codepad.org/SKNk1VaX

すべてをまとめるには:

$d = array();
foreach($x_axis as $key=>$x) {
    $d[] = "['" . $x . "', " . $y_axis[$key] . "]";
}
echo json_encode($d);

デモ:http ://codepad.org/KhofwXCi

于 2012-12-20T15:28:16.783 に答える
1

仮定:

$x_axis = array('Safari', 'Opera', 'Firefox', 'IE', 'Chrome', 'Others');
$y_axis = array(10, 6, 40.5, 20, 10.6, 0.5);

これは機能するはずです:

$data = array();
$length = count($x_axis);
for ($i = 0; $i < $length; $i++) {
    $data[] = array($x_axis[i], $y_axis[i]);
}
于 2012-12-20T15:28:48.140 に答える
0

おそらく配列を組み合わせて、jsonよりもエンコードして置換しますか?多様性のために;)

<?php 

$x_axis = array(
'Safari', 'Opera', 'fireFox'
);

$y_axis = array(
10, 30.4, 50
);

$keyFilled = array_combine($x_axis, $y_axis);

arsort($keyFilled);

$jsonData = json_encode($keyFilled);

$jsonDataReplaced = str_replace(array(',', '{', '}', ':'), array('],[', '[', ']', ','), $jsonData);
echo '<pre>';
var_dump('['.$jsonDataReplaced.']');

?>

出力は次のとおりです。

string(45) "[["fireFox",50],["Opera",30.4],["Safari",10]]"

http://phpfiddle.org/main/code/jq4-cgb

于 2012-12-20T15:53:37.277 に答える