javascript — Пирог HIGHCHARTS — ПРИМЕНЕНИЕ AJAX, ОБНОВЛЕННАЯ ДИАГРАММА

Я новичок в JS / AJAX / JSON, я хочу применить ajax к своему коду, чтобы моя диаграмма могла перерисовываться в зависимости от данных, поступающих в базу данных. Эта строка кода не содержит ошибок, но не обновляет сама по себе. Пожалуйста, помогите мне сделать этот график динамичным. Помощь / Комментарии / Предложения приветствуются.

Вот мой код:
data.php

$<?php
$con = mysql_connect("localhost","root","");

if (!$con) {
die('Could not connect: ' . mysql_error());
}

mysql_select_db("survey_processor", $con);

$result = mysql_query("select msv_variants.var_text, B.Count from msv_variants, (SELECT           ans_var_id ,count(*) AS Count FROM (select ans_var_id from msv_answers where ans_que_id = '11') as A group by ans_var_id) AS B where msv_variants.var_opt_id = B.ans_var_id AND msv_variants.var_que_id = '11' ");

$rows = array();
while($r = mysql_fetch_array($result)) {
$row[0] = $r[0];
$row[1] = $r[1];
array_push($rows,$row);
}

print json_encode($rows, JSON_NUMERIC_CHECK);

mysql_close($con);
?>

pie.js

    $(document).ready(function() {
var options = {
chart: {
renderTo: 'container',
plotBackgroundColor: null,
plotBorderWidth: null,
plotShadow: false
},
title: {
text: 'Web Sales & Marketing Efforts'
},
tooltip: {
formatter: function() {
return '<b>'+ this.point.name +'</b>: '+ this.percentage +' %';
}
},
plotOptions: {
pie: {
allowPointSelect: true,
cursor: 'pointer',
dataLabels: {
enabled: true,
color: '#000000',
connectorColor: '#000000',
formatter: function() {
return '<b>'+ this.point.name +'</b>: '+ this.percentage +' %';
}
}
}
},
series: [{
type: 'pie',
name: 'Browser share',
data: []
}]
}

$.getJSON("data.php", function(json) {
options.series[0].data = json;
chart = new Highcharts.Chart(options);
});});

пожалуйста, помогите мне в моем проекте. благодарю вас

-1

Решение

Вам необходимо обновить данные в этом графике, например:

$(document).ready(function() {
var options = {
chart: {
renderTo: 'container',
plotBackgroundColor: null,
plotBorderWidth: null,
plotShadow: false,
// add code below:
events: {
load: function() {
var series = this.series[0];
setTimeout(function() {
$.getJSON("data.php", function(json) {
series.setData(json);
});
}
}
}
},
//rest of options and code
};
});
0

Другие решения

Других решений пока нет …