Php 使用ajax为highcharts正确插入数据
我对海查特有意见。我必须从数据库中输入一些数据,但我无法看到正确的图表。我向您展示了我的完整代码和我现在拥有的可视化的img。请帮帮我,我在这件事上被阻止了3天 我的js将图形序列化并调用ajax函数: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
$(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!(笑)给我一支短裙!