Thursday, August 7, 2008

Membuat Grafik Data Vertikal dengan PHP

Membuat Grafik Data Vertikal dengan PHP


dengan format Graphic Batang

ni cara bikin grafik sederhana tanpa gambar di PHP, dengan bentuk vertikal

pertama kita butuh sql data dari database:
bikin database, dengan nama: graph_dbase

ni bwat table SQL na:

Code:

CREATE TABLE `report_toko` (
`id` int(11) NOT NULL auto_increment,
`nama_toko` varchar(255) NOT NULL default '',
`laba` int(11) NOT NULL default '0',
PRIMARY KEY (`id`)
) ENGINE=MyISAM DEFAULT CHARSET=latin1 AUTO_INCREMENT=5 ;

--
-- Dumping data for table `report_toko`
--

INSERT INTO `report_toko` VALUES (1, 'Toko A', 100000);
INSERT INTO `report_toko` VALUES (2, 'Toko B', 25000);
INSERT INTO `report_toko` VALUES (3, 'Toko C', 15000);
INSERT INTO `report_toko` VALUES (4, 'Toko D', 5000);


wuki singkat saja, gw mao bikin koneksi dlo:

Code:

$varData = array('localhost', 'root', '', 'graph_dbase');
list($host, $user, $pass, $db) = $varData;
$con = mysql_connect($host, $user, $pass);
mysql_select_db($db, $con) or die('ERROR DBASE CON');


ambil query untuk jumlah terbesar dari laba (MAX) dan total seluruh laba (SUM) dalam baris table:

Code:
$qry = mysql_query("SELECT * FROM report_toko") or die('ERROR REPORT DATA');
//ambil data MAX dari laba
$max = mysql_query("SELECT MAX(laba) FROM report_toko") or die('ERROR MAX DATA');
list ($most_value) = mysql_fetch_row($max);
mysql_free_result($max);

//jumlahkan (SUM) seluruh nilai laba dalam baris data sebagai ttlLaba
$sum = mysql_query("SELECT SUM(laba) AS ttlLaba FROM report_toko") or die('ERROR SUM DATA');
$ttl = mysql_fetch_array($sum);


sebagai keluaran data, gw memanfaatkan table bwat bikin graphic na menjadi vertical. Jadi kaga make fungsi2 gambar lib dari PHP.

Code:





">





%
px; line-height:1px; font-size:1px;">








sebagai penentu tinggi dari graphic na ada pada baris:

Code:
$graphLineValue = round(($row[laba] * 100) / $most_value);

NOTE: round = pembulatan digit angka dibelakang koma

sedangkan untuk perhitungan nilai persentase na ada pada baris:

Code:
$percent = round(($row[laba] * 100) / $ttl[ttlLaba], 2);


jadi kalo di preview di browser, jadi ke gini:



Download disini bwat source code na

No comments:

Post a Comment