XML/SWF Charts การสร้าง flash กราฟ อันสวยงาม ภาค 6 database

 

ใกล้จบซี่รี่ เข้าไปทุกที คราวนี้จะดึงข้อมูลจากฐานข้อมูลมาแสดงเป็นชาร์ทแล้วล่ะ ยังไงก็ตามผมจะยังใช้ข้อมูลสมมติ ชุดนี้อยู่

 

สมมติ ผมมีฐานข้อมูลตัวหนึ่ง ชื่อ db_charts มี 1 table ชื่อ tbl_chart ประกอบด้วย field 4 field คือ

year_2001

year_2002

year_2003

year_2004

 

และมีข้อมูลเก็บเก็บอยู่ภายในเหมือนในตาราง

 

  ปี 2001 ปี 2002 ปี 2003 ปี 2004
ข้อมูลชุดที่ 1 5 10 30 63
ข้อมูลชุดที่ 2 100 20 65 55

 

 

1. สร้างไฟล์ใหม่ชื่อ sample.php และเขียนโค้ด ดังนี้

<?php
$hostname_connection = “localhost”;
$database_connection = “db_general_use”;
$username_connection = “root”;
$password_connection = “”;
$connection = mysql_pconnect($hostname_connection, $username_connection, $password_connection)
or trigger_error(mysql_error(),E_USER_ERROR);
mysql_query(“SET NAMES UTF8”);

 

mysql_select_db($database_connection, $connection);
$query_rs_chart = “SELECT * FROM tbl_chart”;
$rs_chart = mysql_query($query_rs_chart, $connection) or die(mysql_error());
$row_rs_chart = mysql_fetch_assoc($rs_chart);
$totalRows_rs_chart = mysql_num_rows($rs_chart);

 

do {
      $iLoop++ ;
      $data .= “<row>n
                              <string>ข้อมูลชุดที่ {$iLoop}</string>n
                              <number>{$row_rs_chart[‘year_2001’]}</number>n
                              <number>{$row_rs_chart[‘year_2002’]}</number>n
                              <number>{$row_rs_chart[‘year_2003’]}</number>n
                              <number>{$row_rs_chart[‘year_2004’]}</number>n
                          </row>n
                        ” ;

} while ( $row_rs_chart = mysql_fetch_assoc($rs_chart) );

echo “<?xml version=’1.0′ encoding=’utf-8′?>” ;

?>

<chart>

    <chart_data>
        <row>
        <null/>
        <string>ปี 2001</string>
        <string>ปี 2002</string>
        <string>ปี 2003</string>
        <string>ปี 2004</string>
        </row>

        <?php echo $data ;?>

    </chart_data>

    <legend_label layout=’horizontal ‘
    bullet=’circle’
    font=’MS Sans Serif’
    bold=’true’
    size=’12’
    />

    <axis_category
    font=’MS Sans Serif’
    size=’10’
    />
    <chart_type>3d column</chart_type>

</chart>

 

2. แก้ไขไฟล์ example.php ให้เปลี่ยนจากการเรียกไฟล์ xml เป็น php

 

<html xmlns=”http://www.w3.org/1999/xhtml”>
<head>
<meta http-equiv=”Content-Type” content=”text/html; charset=utf-8″ />
<title>Untitled Document</title>
</head>

<body>

<OBJECT classid=”clsid:D27CDB6E-AE6D-11cf-96B8-444553540000″
codebase=”http://download.macromedia.com/pub/shockwave/cabs/flash/swflash.cab#version=6,0,0,0″
width=”400″
height=”250″
align=””
id=”charts”>

<PARAM NAME=movie VALUE=”utils/charts/charts.swf?library_path=utils/charts/charts_library&xml_source=sample.php“>
<PARAM NAME=quality VALUE=high>
<PARAM NAME=bgcolor VALUE=#666666>

<EMBED src=”utils/charts/charts.swf?library_path=utils/charts/charts_library&xml_source=sample.php
quality=high
bgcolor=#666666
width=”400″
height=”250″
name=”charts”
align=””
swLiveConnect=”true”
type=”application/x-shockwave-flash”
pluginspage=”http://www.macromedia.com/go/getflashplayer”>

</EMBED>
</OBJECT>

</body>
</html>

 

แล้วลองรันไฟล์ example.php อ่าฮ้า