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 อ่าฮ้า
Leave a Reply