You are viewing documentation for an older version. For current documentation - click here.

FusionCharts can effectively be used with PHP to plot dynamic data-driven charts. With FusionCharts PHP Class chart rendering becomes even easier. Let's see how to make use of FusionCharts PHP Class functions and create charts in few easy steps.

We'll cover the following examples here:

  1. Creating a simple chart using FusionCharts PHP Class
  2. Creating a chart with external XML file created using FusionCharts PHP Class

Let's quickly see each of them. Before you proceed with the contents in this page, we strictly recommend you to please go through the section "How FusionCharts works?".

 
All code discussed here is present in Download Package > Code > PHPClass > BasicExample folder.
 
Setting up the charts for use
In our code, we've used the charts and FusionCharts.js contained in Download Package > Code > FusionCharts folder. We have kept FusionCharts_Gen.php in Download Package > Code > PHPClass > Includes folder. When you run your samples, you need to make sure that all the files are in proper location.
 
Creating a simple chart

Let's now start building our first chart. In this example, we'll create a "Monthly Unit Sales" chart.

 

 <?php
    //We've included ../Includes/FusionCharts_Gen.php, which contains FusionCharts PHP Class
    //to help us easily embed the charts.

  include("../Includes/FusionCharts_Gen.php");
  ?>
  <HTML>
     <HEAD>
         <TITLE>FusionCharts v3 - Simple Column 3D Chart</TITLE> 
          <?php
             //You need to include the following JS file, if you intend to embed the chart using JavaScript.
             //Embedding using JavaScripts avoids the "Click to Activate..." issue in Internet Explorer
             //When you make your own charts, make sure that the path to this JS file is correct.
             //Else, you would get JavaScript errors.

          ?>
         <SCRIPT LANGUAGE="Javascript" SRC="../../FusionCharts/FusionCharts.js"></SCRIPT> 
     </HEAD>

     <BODY>

         <?php
            //This page demonstrates the ease of generating charts using FusionCharts PHP Class.
            //For this chart, we've created a chart object used FusionCharts PHP Class
            //supply chart data and configurations to it and render chart using the instance

            //Here, we've kept this example very simple.


            # Create object for Column 3D chart
            $FC = new FusionCharts("Column3D","600","300");

            # Setting Relative Path of chart SWF file.
            $FC->setSwfPath("../../FusionCharts/");

            # Define chart attributes
            $strParam="caption=Monthly Unit Sales;xAxisName=Month;yAxisName=Units";

            # Set chart attributes
            $FC->setChartParams($strParam);

            # Add chart data along with category names
            $FC->addChartData("462","label=Jan");
            $FC->addChartData("857","label=Feb");
            $FC->addChartData("671","label=Mar");
            $FC->addChartData("494","label=Apr");
            $FC->addChartData("761","label=May");
            $FC->addChartData("960","label=Jun");
            $FC->addChartData("629","label=Jul");
            $FC->addChartData("622","label=Aug");
            $FC->addChartData("376","label=Sep");
            $FC->addChartData("494","label=Oct");
            $FC->addChartData("761","label=Nov");
            $FC->addChartData("960","label=Dec");


            # Render chart

            $FC->renderChart();

         ?>

     </BODY>
  </HTML>

 
What we did in this program?
  • Included FusionCharts_Gen.php class and FusionCharts.js class.
  • Created FusionCharts PHP class object $FC for a Column 3D chart with 600 pixels width and 300 pixels height.
  • Set relative path of chart SWF file using setSwfPath.
  • Stored delimiter separated chart attributes in a variable $strParam.
  • Set these chart attributes to our chart using setChartParams.
  • Added chart values and category names that are to be plotted on the Column 3D chart.
  • Finally rendered the chart using renderChart.
Please go through FusionCharts PHP Class API Reference section to know more about the functions used in the above code.
 

When you now run this page, you'll see a chart like the one below.

If you do not see a chart like the one below, please follow the steps listed in Debugging your Charts section of this documentation.

 
So, you just saw how simple it is to create a chart using FusionCharts PHP Class functions.
 
Creating a chart with external XML file
Now, we will create the same chart in a different way. Here, we will be using two different programs. One program creates the chart XML using FusionCharts PHP Class and the other uses this XML to render the chart using dataURL method. Code written inside Data.php file creates the XML and SimpleChart.php file uses the XML to render chart.
 
All code discussed here is present in Download Package > Code > PHPClass > BasicExample folder and Download Package > Code > PHPClass > BasicExample > Data folder.
 
Let's consider the code in Data.php file first. This code is similar like the code in the above example; the only difference is it does not render the chart but streams XML to SimpleChart.php file.

<?php
  //We've included ../../Includes/FusionCharts_Gen.php - FusionCharts PHP Class
  //to help us easily embed the charts.

  include("../../Includes/FusionCharts_Gen.php");
?>

   <?php
       //This page demonstrates the ease of generating charts using FusionCharts PHPClass.
       //We created a FusionCharts object instance
       //Set chart values and configurations and returns the XML using getXML() function
       //and write it to the response stream to build the XML

       //Here, we've kept this example very simple.

       # Create column 3d chart object
       $FC = new FusionCharts("column3D","600","300");

       # Set Relative Path of SWF file.
       $FC->setSWFPath("../../FusionCharts/");

       # Define chart attributes
       $strParam="caption=Monthly Unit Sales;xAxisName=Month;yAxisName=Units;showLabels=1";
       # Set chart attributes
       $FC->setChartParams($strParam);

       #add chart data values and category names
       $FC->addChartData("462","Label=Jan");
       $FC->addChartData("857","Label=Feb");
       $FC->addChartData("671","Label=Mar");
       $FC->addChartData("494","Label=Apr");
       $FC->addChartData("761","Label=May");
       $FC->addChartData("960","Label=Jun");
       $FC->addChartData("629","Label=Jul");
       $FC->addChartData("622","Label=Aug");
       $FC->addChartData("376","Label=Sep");
       $FC->addChartData("494","Label=Oct");
       $FC->addChartData("761","Label=Nov");
       $FC->addChartData("960","Label=Dec");

       //set content type as XML
       header('Content-type: text/xml');
       #Return the chart XML for Column 3D Chart
       print $FC->getXML();
   ?>

What we did here:
  • Included FusionCharts_Gen.php class and FusionCharts.js class.
  • Created FusionCharts PHP class object $FC for a Column 3D chart with 600 pixels width and 300 pixels height.
  • Set relative path of chart SWF file.
  • Stored delimiter separated chart attributes in a variable $strParam.
  • Set these chart attributes to our chart.
  • Added chart data that are to be plotted on the Column 3D chart.
  • Finally returned the XML and wrote it to the response stream.
 
Let's now look at SimpleChart.php function:

<?php
  //We've included ../Includes/FusionCharts.php, which contains functions
  //to help us easily embed the charts.

  include("../Includes/FusionCharts.php");
?>
<HTML>
    <HEAD>
        <TITLE>FusionCharts v3 - Simple Column 3D Chart using dataURL method</TITLE>
        <?php
           //You need to include the following JS file, if you intend to embed the chart using JavaScript.
           //Embedding using JavaScripts avoids the "Click to Activate..." issue in Internet Explorer
           //When you make your own charts, make sure that the path to this JS file is correct. Else, you
           //would get JavaScript errors.

        ?>
        <SCRIPT LANGUAGE="Javascript" SRC="../../FusionCharts/FusionCharts.js"></SCRIPT>
    </HEAD>
    <BODY>
        <?php
           //This page demonstrates the ease of generating charts using FusionCharts PHP Class.
           //For this chart, we've used a Data.php which uses FusionCharts PHP Class (contained in /Data/ folder)
           //This file will generate the chart XML and pass it to the chart
           //We will use FusionCharts PHP function - renderChart() to render the chart using the XML
           //For a head-start, we've kept this example very simple.

           //Create the chart - Column 3D Chart with data from Data/Data.xml

           echo renderChart("../../FusionCharts/Column3D.swf", "Data/Data.php", "", "myFirst", 600, 300, false, false);
        ?>

    </BODY>
</HTML>

 
Steps involved in this function:
  • Include FusionCharts.js class.
  • Call renderChart() function with data from Data.php function.
 
Note: The renderChart() function used in this code is not the same with the one we used in the previous example, though they bear same name. This is FusionCharts PHP chart embedding function; please go through Using with PHP > Basic Examples to know more about it.
 
Here is the output. As you can see, the same chart has been created but in a different way.