在另一页面中为PHP渲染TeeChart

时间:2017-02-14 11:46:37

标签: php teechart

我是TeeChart for PHP的新手。

我发现的所有示例都是将图表渲染到创建它的同一个php文件中。

我想使用PHP脚本构建图表,该脚本通过AJAX接收一些参数,并在生成AJAX调用的页面上呈现图表。

这可能吗?关于那个的任何例子?

最好的问候。

Jayme Jeffman

1 个答案:

答案 0 :(得分:0)

这是一个简单的例子:

<强> getchart.php:

<?php
  // get the q parameter from URL
$q = $_REQUEST["q"];


//Includes
include "../../sources/TChart.php";

$chart1 = new TChart(600,450);
$chart1->getChart()->getHeader()->setText($q);
$chart1->getAspect()->setView3D(false);

$line1 = new Line($chart1->getChart());
$line1->setColor(Color::RED());
$chart1->addSeries($line1);

// Speed optimization
$chart1->getChart()->setAutoRepaint(false);

for($t = 0; $t <= 10; ++$t) {
  $line1->addXY($t, (10 + $t), Color::RED());
}

$chart1->getChart()->setAutoRepaint(true);

$chart1->render("chart1.png");    
$rand=rand();
echo "chart1.png?rand=".$rand;
?>

<强>的test.html:

<!DOCTYPE html>
<html>
<head>
<script>
function showChart(str) {
    var xmlhttp = new XMLHttpRequest();
    xmlhttp.onreadystatechange = function() {
        if (this.readyState == 4 && this.status == 200) {           
            var image = document.getElementById("get_img");
            image.src = xmlhttp.responseText;
        }
    }
    xmlhttp.open("GET", "getchart.php?q="+str, true);
    xmlhttp.send();
} 
</script>
</head>
<body>

<p><b>Enter the chart title below:</b></p>
<form>
Chart title: <input type="text" onkeyup="showChart(this.value)">
</form>
<p><img id="get_img" /></p>
</body>
</html>