「訪問者」と「訪問者」の 2 つの数値セットを出力する mysql クエリを作成しました。
<?php
$con = mysql_connect("localhost","name","pass");
if (!$con) {
die('Could not connect: ' . mysql_error());
}
mysql_select_db("fandang_gvmaster", $con);
$sth = mysql_query("SELECT Unixdate, visits FROM WebWeekly where (`Unixdate` >
1299456000000) and (`Unixdate` < 1000 * UNIX_TIMESTAMP( NOW()));");
$rows = array();
$rows['name'] = 'Visits';
while($r = mysql_fetch_array($sth)) {
$rows['data'][] = $r['visits'];
}
$sth = mysql_query("SELECT Unixdate, visitors FROM WebWeekly where (`Unixdate` >
1299456000000) and (`Unixdate` < 1000 * UNIX_TIMESTAMP( NOW()));");
$rows1 = array();
$rows1['name'] = 'Visitors';
while($rr = mysql_fetch_assoc($sth)) {
$rows1['data'][] = $rr['visitors'];
}
$result = array();
array_push($result,$rows);
array_push($result,$rows1);
print json_encode($result, JSON_NUMERIC_CHECK);
mysql_close($con);
?>
これにより、次の出力が得られます。
[{"名前":"訪問数","データ":[293,319,287]},
{"名前":"訪問者","データ":[157,167,157]}]
次に、データを読み取るための highstock グラフを設定しました。
$(function() {
var seriesOptions = [],
yAxisOptions = [],
seriesCounter = 0,
names = ['Visits', 'Visitors'],
colors = Highcharts.getOptions().colors;
$.each(names, function(i, name) {
$.getJSON('calc_tables/Allyears_calc.php', function(data) {
seriesOptions[i] = {
name: name,
data: data
};
// As we're loading the data asynchronously, we don't know what order it will arrive. So
// we keep a counter and create the chart when all the data is loaded.
seriesCounter++;
if (seriesCounter == names.length) {
createChart();
}
});
});
// create the chart when all data is loaded
function createChart() {
$('#graphcontainerslide').highcharts('StockChart', {
chart: {
},
rangeSelector: {
selected: 4
},
yAxis: {
labels: {
formatter: function() {
return (this.value > 0 ? '+' : '') + this.value + '%';
}
},
plotLines: [{
value: 0,
width: 2,
color: 'silver'
}]
},
plotOptions: {
series: {
compare: 'percent'
}
},
tooltip: {
pointFormat: '<span style="color:{series.color}">{series.name}</span>: <b>{point.y}</b> ({point.change}%)<br/>',
valueDecimals: 2
},
series: seriesOptions
});
}
});
進めながら本当に学んでいますが、これを機能させることができません。情報を間違って入力していることはわかっています。誰かが私にポインタを教えてもらえますか?