我有一个条形图与highcharts显示正确,数据来自mysql表。我想传递值我的意思是:($category['data'][] = $r['Assign_To'])在每个酒吧作为变量,这样当我点击一个酒吧包含在变量这个值被带到一个新的页面,以便在该页使用它。highcharts网站给出的例子不适合我,因为我使用的数据来自表格。
1-这是图表
$(document).ready(function() {
var options = {
chart: {
renderTo: 'container',
type: 'bar'
},
title: {
text: 'EOP Postings Issues Chart',
x: -20 //center
},
credits: {
enabled: false
},
xAxis: {
categories: []
},
yAxis: {
min: 0,
title: {
text: 'Requests'
},
},
legend: {
layout: 'vertical',
align: 'right',
verticalAlign: 'top',
x: -10,
y: 100,
borderWidth: 0
},
series: []
}
$.getJSON("DataEobChart.php", function(json) {
options.xAxis.categories = json[0]['data'];
options.series[0] = json[1];
chart = new Highcharts.Chart(options);
});
});
DataEobChart.php
$dbc = @mysqli_connect('', '', '', ''); $query = mysqli_query($dbc, "select *, count(Assign_To) as count,Assign_To from claims_follow_up.eob_posting where Status='open' group by Assign_To order by count desc"); $category = array(); $category['name'] = 'Month'; $series1 = array(); $series1['name'] = 'Number of issues assigned'; while($r = mysqli_fetch_array($query)) { $category['data'][] = $r['Assign_To']; $series1['data'][] = $r['count']; } $result = array(); array_push($result,$category); array_push($result,$series1); print json_encode($result, JSON_NUMERIC_CHECK); mysqli_close($dbc);
在HighCharts定义中添加一个名为plotOptions
的新部分,其中包含以下代码:
plotOptions: {
series: {
cursor: 'pointer',
point: {
events: {
click: function (event) {
var index = event.point.index;
var Assign_To = options.xAxis.categories[index];
alert(Assign_To);
location.href = "NewPage.php?AssignTo=" + Assign_To;
}
}
}
}
},
这提供了一个单击事件处理程序,该处理程序将根据单击的栏确定要使用哪个options.xAxis.categories[]
项。然后,它将提醒结果,然后将用户带到一个名为NewPage.php
的页面,其中包含一个名为AssignTo
的请求字符串。