Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/mysql/69.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
使用php和Ajax的Highcharts柱形图_Php_Mysql_Ajax_Highcharts - Fatal编程技术网

使用php和Ajax的Highcharts柱形图

使用php和Ajax的Highcharts柱形图,php,mysql,ajax,highcharts,Php,Mysql,Ajax,Highcharts,我对highcharts有一个问题,因为我无法将php数据加载到highcharts图形中,当我单击一个表单(id=year)时,它将启动。 我做了一个ajax调用,响应如下: “{”zone:[“NORD-OVEST”,“NORD-EST”,“CENTRO”,“SUD”,“ISOLE”,“TOTALE ITALIA”],“elementare:[71,69,59,44,44,59],“medie:[8,5,6,4,3,5],“文凭”:[3,3,3,2,2,3],“laurea:[1,0,1,1

我对highcharts有一个问题,因为我无法将php数据加载到highcharts图形中,当我单击一个表单(id=year)时,它将启动。 我做了一个ajax调用,响应如下:

“{”zone:[“NORD-OVEST”,“NORD-EST”,“CENTRO”,“SUD”,“ISOLE”,“TOTALE ITALIA”],“elementare:[71,69,59,44,44,59],“medie:[8,5,6,4,3,5],“文凭”:[3,3,3,2,2,3],“laurea:[1,0,1,1]。

当我必须将这些数据加载到highcharts图形时,我遇到了问题,因为ajax调用是正确的,但图形不工作。它保持黑色,右上角有图例

这是我的代码js:

function bottone1() {
    $('#bottone1').click(function(){//bottone1 is my id button form
        var year=$('#year').val();
        if((year!='seleziona')){
            $.ajax({
                url: './php/grafico1.php',
                data: {'year': year},
                datatype: 'json',
                success: function(data) {
                    grafo1(data);
                },
                error: function(data) {
                    alert('non funge');
                }
            });
        };
    });
};

function grafo1(){
var options = {
    chart: {
        renderTo: 'grafico',
        type: 'column',
        marginRight: 130,
        marginBottom: 25
    },
    title: {
        text: 'Titolo Di Studio',
        x: -20 //center
    },
    subtitle: {
        text: '',
        x: -20
    },
    xAxis: {
        categories: [{}]
    },
    yAxis: {
        title: {
            text: 'Percentuale'
        },
        plotLines: [{
                value: 0,
                width: 1,
                color: '#808080'
            }]
    },
    tooltip: {
        formatter: function() {
            return '<b>' + this.series.name + '</b><br/>' +
                    this.x + ': ' + this.y;
        }
    },
    legend: {
        layout: 'vertical',
        align: 'right',
        verticalAlign: 'top',
        x: -10,
        y: 100,
        borderWidth: 0
    },
    series: [{}, {}, {}, {}]
}
$.ajax({
    dataType: "json",
    url: "./php/grafico1.php",
    type: 'get',
    data: "",
    success: function(data) {
        options.xAxis.categories = data.zona;
        options.series[0].name = 'Licenza Elementare';
        options.series[0].data = data.elementare;
        options.series[1].name = 'Licenza Media';
        options.series[1].data = data.medie;
        options.series[2].name = 'Diploma';
        options.series[2].data = data.diploma;
        options.series[3].name = 'Laurea';
        options.series[3].data = data.laurea;
        chart = new Highcharts.Chart(options);
    }
});
};
函数bottone1(){
$('#bottone1')。单击(函数(){//bottone1是我的id按钮窗体
var year=$(“#year”).val();
如果((年份='seleziona')){
$.ajax({
url:“./php/grafico1.php”,
数据:{'year':year},
数据类型:“json”,
成功:功能(数据){
grafo1(数据);
},
错误:函数(数据){
警惕(“非冯”);
}
});
};
});
};
函数grafo1(){
变量选项={
图表:{
renderTo:“grafico”,
键入:“列”,
marginRight:130,
marginBottom:25
},
标题:{
文字:“蒂托洛迪工作室”,
x:-20/中心
},
副标题:{
文本:“”,
x:-20
},
xAxis:{
类别:[{}]
},
亚克斯:{
标题:{
文本:“百分位数”
},
绘图线:[{
值:0,
宽度:1,
颜色:'#808080'
}]
},
工具提示:{
格式化程序:函数(){
返回“+this.series.name+”
+ this.x+':'+this.y; } }, 图例:{ 布局:“垂直”, 对齐:“右”, 垂直排列:“顶部”, x:-10, y:100, 边框宽度:0 }, 系列:[{},{},{},{},{}] } $.ajax({ 数据类型:“json”, url:“./php/grafico1.php”, 键入:“get”, 数据:“, 成功:功能(数据){ options.xAxis.categories=data.zona; options.series[0]。name='Licenza Elementare'; options.series[0]。data=data.elementare; options.series[1]。名称='Licenza Media'; options.series[1]。data=data.medie; options.series[2]。名称=‘文凭’; options.series[2]。data=data.diplication; options.series[3]。名称='Laurea'; options.series[3]。data=data.laurea; 图表=新的高点图表。图表(选项); } }); };
下面是我的图形响应:

{“区域”:[],“元素”:[],“媒介”:[],“文凭”:[],“桂冠”:[]}


我无法获取数据为什么?

我在一个应用程序中使用了highcharts,该应用程序包含asp.net和json。highcharts中有多种类型的柱状图可用。您使用的是哪一个?

欢迎来到Stackoverflow,您的问题有点长。更具体一点可能是明智的——您已经提供了相当多的代码。您可以通过使用例如jsfiddle.com来增加获得成功答案的机会,并缩短您发布的代码量。您进行ajax调用,在成功时调用function
grafo1
,使用一个甚至不需要的参数,只需进行另一个ajax调用,并在成功时创建图形?为什么有两个ajax调用?为什么不使用第一个数据来填充图表?非常令人困惑。json在数据中有数字吗?2.您是否收到任何错误?3.你有现场演示吗?xAxis:{categories:[{}]}和series:[[{},{},{},{},{}]你能给我发送你正在使用的图表列的名称吗。你的JSON字符串像-xAxis:{categories:[{}]}和series:[{},{},{},{},{}这是错误的。JSON字符串应该是这样的-xAxis:{categories:['a','b','c'}。在您的Json字符串类别中:[{}]是错误的。请尝试创建与highcharts.com上的示例相同的Json字符串。在系列中:[{name:'aa',data:[1,2,3]},{name:'bb',data:[4,5,6]},{name:'cc',data:[4,2,1]},}]注意数据:[int,int,int]--只需使用out quotsWith static它就可以正常工作,我的php提供json no…并尝试使用:categories:[{}]和series,以及[],但我不工作。。。