我目前正在使用FusionCharts免費來填充一些圖表。FusionCharts PHP與Ajax
在main.php:
<html>
<head>
<script language="JavaScript" src="FusionCharts/FusionCharts.js" ></script>
<script language="JavaScript">
function ajax(divID)
{
if (window.XMLHttpRequest)
xmlhttp=new XMLHttpRequest();
else
xmlhttp=new ActiveXObject("Microsoft.XMLHTTP");
xmlhttp.onreadystatechange=function()
{
if (xmlhttp.readyState==4 && xmlhttp.status==200)
document.getElementById(divID).innerHTML=xmlhttp.responseText;
}
return xmlhttp;
}
function detailedChart(couID)
{
xmlhttp = ajax("detailedDiv");
xmlhttp.open("GET", "getDetailedResult.php?couID=" + couID, true);
xmlhttp.send(null);
}
</script>
</head>
<body>
<?php
$strDataURL = "GetResult.php";
echo renderChart("FusionCharts/FCF_Column3D.swf", $strDataURL, "", "Chart1", 600, 300);
?>
<div id="detailedDiv" align="center"></div>
</body>
</html>
在GetResult.php:
if ($result)
$chart -> addDataFromDatabase($result, "TOTAL", "NAME", "", "JavaScript:detailedChart('##ID##')");
在GetDetailedResult.php
<?php
$chart -> newFusionCharts("Column3D", "900", "500");
$chart -> setSWFPath("FusionCharts/");
$chart -> setChartParams("caption=....");
$chart -> addDataFromDatabase($result, "TOTAL", "NAME");
$chart -> renderChart();
?>
現在的問題是,我想創建向下鑽取從GetResult到使用Ajax的GetDetailedResult,但會顯示「Chart」。而不是圖表。如果我更改了
$ chart - > renderChart();到$ chart - > renderChart(true);
它會告訴我bgcolor =「」。
爲什麼會發生這種情況,我該如何解決它?有沒有其他更簡單的方法來通過Ajax填充detailedChart?
萬分感謝。
。感謝您介紹jQuery,事情真的變得更簡單了。我認爲在進一步編碼之前,我應該更好地瞭解所有這些工作。謝謝^^ – noobie 2013-04-09 08:06:44