Php 使用ajax为highcharts正确插入数据

Php 使用ajax为highcharts正确插入数据,php,jquery,ajax,highcharts,Php,Jquery,Ajax,Highcharts,我对海查特有意见。我必须从数据库中输入一些数据,但我无法看到正确的图表。我向您展示了我的完整代码和我现在拥有的可视化的img。请帮帮我,我在这件事上被阻止了3天 我的js将图形序列化并调用ajax函数: $(function () { var cs = document.getElementById('alunni').firstChild.nodeValue; var rend = $('#alunni') var options = { char

我对海查特有意见。我必须从数据库中输入一些数据,但我无法看到正确的图表。我向您展示了我的完整代码和我现在拥有的可视化的img。请帮帮我,我在这件事上被阻止了3天

我的js将图形序列化并调用ajax函数:

$(function () {
    var cs = document.getElementById('alunni').firstChild.nodeValue;


    var rend = $('#alunni')

    var options = {
        chart: {
            plotBackgroundColor: null,
                plotBorderWidth: null,
                plotShadow: false,
                renderTo: rend[0]
            },
            title: {
                text: 'Numero di studenti iscritti per ogni anno di corso'
            },
            tooltip: {
                pointFormat: '{series.name}: <b>{point.percentage:.1f}%</b>'
            },
            plotOptions: {
                pie: {
                    allowPointSelect: true,
                    cursor: 'pointer',
                    dataLabels: {
                        enabled: true,
                        color: '#000000',
                        connectorColor: '#000000',
                        format: '<b>{point.name}</b>: {point.percentage:.1f} %'
                    }
                }
            },
            series: [{
                type: 'pie',
                name: 'Percentuale di alunni: ',
            }]
        };

        $.ajax({
            type: 'POST',
            url: 'alunnixclasse.php',
            async: false,
            data: {'cs': cs},
            dataType: 'json',
            success: function(data) {
                options.series[0].data = data;
            },
            error: function(data){ 
                alert("Chiamata fallita, si prega di riprovare...");
            }
        });

        console.log(options.series);

        var chart = new Highcharts.Chart(options);
});
$(函数(){
var cs=document.getElementById('alunni').firstChild.nodeValue;
var rend=$(“#alunni”)
变量选项={
图表:{
plotBackgroundColor:null,
plotBorderWidth:null,
影子:错,
renderTo:rend[0]
},
标题:{
正文:“学生人数是每个奥格尼和科索的人数”
},
工具提示:{
pointFormat:“{series.name}:{point.percentage:.1f}%”
},
打印选项:{
馅饼:{
allowPointSelect:true,
光标:“指针”,
数据标签:{
启用:对,
颜色:'#000000',
连接器颜色:'#000000',
格式:'{point.name}:{point.percentage:.1f}%'
}
}
},
系列:[{
键入“pie”,
名称:'阿隆尼百分比:',
}]
};
$.ajax({
键入:“POST”,
url:'alunnixclass.php',
async:false,
数据:{'cs':cs},
数据类型:“json”,
成功:功能(数据){
options.series[0]。数据=数据;
},
错误:函数(数据){
警惕(“Chiamata fallita,si prega di riprovare…”);
}
});
console.log(options.series);
var图表=新的Highcharts.图表(选项);
});
这是我用来记录日期的php:

<?php

    include "connect.php";

    $codscu = $_POST['cs'];

    $query = "SELECT * FROM alunni WHERE alunni.codscu = $codscu ";
    $query2 = "SELECT total.TotAlun FROM total WHERE total.codscu = $codscu ";

    $risultato = mysql_query($query);
    $risultato2 = mysql_query($query2);

    $data = "";

    $elem = mysql_fetch_array($risultato);
    $tot = mysql_fetch_array($risultato2);

    for ($i = 0; $i <5; $i++) {
        $anno = "";
        switch($i) {
            case 0: { $anno = "Primo anno"; $value = ($elem['anno_1'] * 100) / $tot['TotAlun']; break; }
            case 1: { $anno = "Secondo anno"; $value = ($elem['anno_2'] * 100) / $tot['TotAlun']; break; }
            case 2: { $anno = "Terzo anno"; $value = ($elem['anno_3'] * 100) / $tot['TotAlun']; break; }
            case 3: { $anno = "Quarto anno"; $value = ($elem['anno_4'] * 100) / $tot['TotAlun']; break; }
            case 4: { $anno = "Quinto anno"; $value = ($elem['anno_5'] * 100) / $tot['TotAlun']; break; }
        }

        if ($i != 4) {
            $data = $data."['".$anno."', ".number_format($value, 1,".","")."], ";
        } else {
            $data = $data."['".$anno."', ".number_format($value, 1,".","")."]";
        }
    }

    print json_encode($data);
?>

sidenote:停止使用不推荐的
mysql.*
函数。改用MySQLi或PDO。另外,您的代码也会受到SQL注入攻击,因为您直接允许在查询中插入POST值。问题到底是什么?我的错误在哪里?为什么不在我的图表上正确地显示数据?我使用mysql是因为我的教授教我这个。。。这只是一个大学项目,所以我现在并不真正关心sql注入攻击:)POST响应的内容是什么?此外,浏览器控制台是否显示任何错误?Ho risolto!(笑)给我一支短裙!