PHP/SWF Charts > Introduction
使い方を簡単にまとめておく.
(注:ダウンロードと解凍は終わっているものとする.)


1.適当なエディタを開いてsample.phpに次の内容を入力します.

<?php

//include charts.php to access the SendChartData function
include "charts.php";
SendChartData ();

?>

ここで注意する事は,chart.phpと同じディレクトリにない場合は,include "charts.php"を適切なパス名に変更する必要があります.
わからない場合は,同じディレクトリに入れておけばまず大丈夫.




2. また新しいドキュメントを開いて,次の文章を入力する.

<HTML>
<BODY bgcolor="#FFFFFF">

<?php

//include charts.php to access the InsertChart function
include "charts.php";

echo InsertChart ( "charts.swf", "charts_library", "sample.php", 400, 250 );

?>

</BODY>
</HTML>

この例では,InsertChart()は4つの事をする.

  1. .ウェブサイトにcharts.swfというフラッシュファイルを挿入する
  2. .ライブラリフォルダはcharts_library
  3. .sample.phpが作ったグラフのデータ(これがswfだと思う)を得る.
  4. .グラフの縦横のサイズを決める.

(なんかこの辺の説明はあやしいな...)




3.ブラウザでsample.phpを開いてみる.でもこのときに表示されるのは,デフォルトのグラフです.だって,sample.phpでグラフを描画してないんだもん.





4.グラフを編集するためには,sample.phpで必要な変数を作成して,SendChartData()に引数として渡す必要があります.

<?php
//include charts.php in your script
include "charts.php";

//change the chart to a bar chart
$chart [ 'chart_type' ] = "bar";

//send the new chart data to the charts.swf flash file
SendChartData ( $chart );
?>

上のコードは,$chartという変数の$chart['chart_type']にbar(帯グラフ)と設定する事で,次のようになります.





5.グラフを描画するためのデータを入力する.

<?php

$chart [ 'chart_data' ] = array ( array ( "",         "2001", "2002", "2003", "2004" ),
                                  array ( "Region A",     5,     10,     30,     63  ),
                                  array ( "Region B",   100,     20,     65,     55  ),
                                  array ( "Region C",    56,     21,      5,     90  )
                                );

?>

上のように,マルチカラムな配列を使ってデータを入力します.
データは$chart['chart_data']に入力します.

この配列は,一般的な表(例えばExcel)みたいなイメージで書きましょう.
一番上の配列の左端は空白ですが,配列に一貫性を持たせるためなので忘れずに入れましょう.
文字は""を忘れずに,逆に数字は""をつけないように.



<?php
 
//create the PHP multi-dimensional array in mixed ways
$chart [ 'chart_data' ][ 0 ] = array ( "",         "2001", "2002", "2003", "2004" );
$chart [ 'chart_data' ][ 1 ][ 0 ] = "Region A";
$chart [ 'chart_data' ][ 2 ][ 0 ] = "Region B";
$chart [ 'chart_data' ][ 3 ][ 0 ] = "Region C";

for ( $row = 1; $row <= 3; $row++ ) {
   for ( $col = 1; $col <= 4; $col++ ) {
      $chart [ 'chart_data' ][ $row ][ $col ] = rand ( 0, 100 );
   }
}

?>

こんな使い方も出来るよ.