INFO: Using Swiff Chart Generator with PHP
The information in this article applies to:
- Swiff Chart Generator 2
- Swiff Chart Generator 3
Swiff Chart Generator is implemented as COM object and offers a variety of methods for managing and creating charts in Flash. Since COM objects are natively supported in PHP, running Swiff Chart Generator in your PHP pages is very simple.
To insert Swiff Chart Generator in a PHP page you must include a specific PHP file named SwiffChart.php on top of your PHP file. This included file contains all the necessary functions to let you access the Swiff Chart Generator API (Read PHP Reference manual of Swiff Chart Generator documentation for complete description of the API).
How does Swiff Chart Generator work in PHP pages ?
Swiff Chart Generator offers you multiple possibilities to dynamically generate a chart. It allows you to:
- Send the chart directly through the Response object
- Export the chart in binary form
- Create a SWF file on disk
- or even feed your chart with data encoded in the page URL
One of the most straight forward strategy for dynamically generating a chart with Swiff Chart Generator consists in using 2 pages:
- The first page is a PHP page which generates and outputs a Flash movie containing your chart with the ExportAsResponse function.
- The second page is the one where you want to display your chart. It can be an HTML page or a PHP generated page and it includes the Flash Player with the <OBJECT> HTML tag. The idea is to simply set the movie parameter of the Flash Player Object to the PHP page filename.
<OBJECT CLASSID="clsid:D27CDB6E-AE6D-11cf-96B8-444553540000" WIDTH="400" HEIGHT="300"> <PARAM NAME=movie VALUE="gen_chart.php"> </OBJECT>
A simple PHP Example
The following example illustrates how simple it is to dynamically generate charts in Flash in a PHP page. As mentioned in the previous paragraph, the example involves 2 files and an additional Swiff Chart style file (.scs):
- gen_chart.php - PHP page for generating the chart
- chart.html - HTML file for displaying the chart
- chart_style.scs - Swiff Chart Style file for setting the chart layout
- SwiffChart.php - the required PHP file which must be included by the main PHP page. This file is provided in the Swiff Chart Generator package.
To install and run the example, simply download and copy these 4 files on your Web site in the same directory.
PHP page : gen_chart.php
<?php //Required include for manipulating chart object with PHP require("SwiffChart.php"); //Create a Chart Object $chart= new SwiffChart; //Set the heading for the graph $chart->SetTitle( "My Chart" ); //Set chart categories $chart->SetCategoriesFromString( "Q1;Q2;Q3" ); //Fill chart series $chart->AddSeries(); $chart->SetSeriesCaption( 0, "First Series" ); $chart->SetSeriesValuesFromString( 0, "1.2;3.5;11.3" ); $chart->AddSeries(); $chart->SetSeriesCaption( 1, "Second Series" ); $chart->SetSeriesValuesFromString( 1, "2.3;4.5;9.3" ); $chart->AddSeries(); $chart->SetSeriesCaption( 2, "Third Series" ); $chart->SetSeriesValuesFromString( 2, "3.2;5.5;14.3" ); //Define path to style document $style= "chart_style.scs"; $style= stripslashes( dirname($PATH_TRANSLATED) . "\\\\" . $style ); $chart->LoadStyle( $style ); //Set the dimensions of the movie $chart->SetWidth( 400 ); $chart->SetHeight( 300 ); //Generate the Flash movie $chart->ExportAsResponse(); ?>
HTML file : chart.html
<HTML> <HEAD> <TITLE>Swiff Chart Generator - PHP Sample</TITLE> </HEAD> <BODY> <EMBED TYPE="application/x-shockwave-flash" SRC="gen_chart.php" QUALITY="high" WIDTH="400" HEIGHT="300" /> </BODY> </HTML>