|
|
|
jpgraph + php ดึงข้อมูลจาก MS access ข้อมูลที่ดึงมาจาก access มันเป็นภาษายึกยือคืะ ช่วยหน่อยค่ะ ต้องใช้วันศุกร์นี้แล้ว |
|
|
|
|
|
|
|
Code (PHP)
<html>
<head>
<title>ThaiCreate.Com PHP & TIS-620</title>
<meta http-equiv="Content-Type" content="text/html; charset=tis620" />
</head>
<body>
<?
require("../jpgraph/src/jpgraph.php"); //this is path of tool
require("../jpgraph/src/jpgraph_bar.php");
require("../jpgraph/src/jpgraph_flags.php");
//include ("connect.php") ;
$objConnect = odbc_connect("PersonEgat","","") or die("Error Connect to Database");
$strSQL = "SELECT * FROM Q_01_DivSex_3 ";
$objExec = odbc_exec($objConnect, $strSQL) or die ("Error Execute [".$strSQL."]");
obdc_query("SET character_set_results=tis620");
obdc_query("SET character_set_client=tis620");
obdc_query("SET character_set_connection=tis620");
while($objResult = odbc_fetch_array($objExec))
{
$xdata[] = $objResult["Division"];
$ydata[] = $objResult["Total"];
}
$graph = new Graph(750,650);
$graph->SetScale("textlin");
$graph->SetMarginColor('white');
$graph->SetBackgroundGradient("white","whitesmoke",GRAD_HOR, BGRAD_MARGIN);
$graph->SetShadow();
$graph->SetMargin(40,30,20,40);
$graph->title->SetFont(FF_ANGSA, FS_BOLD,12);
$graph->title->Set("รายงาน");
$graph->subtitle->SetFont(FF_ANGSA, FS_BOLD,12);
$graph->subtitle->Set("รายงานลูกค้า");
$graph->subtitle->SetFont(FF_ANGSA, FS_BOLD,12);
$graph->xaxis->title->SetFont(FF_ANGSA, FS_BOLD,12);
$graph->xaxis->title->Set("หน่วยงาน");
$graph->yaxis->title->SetFont(FF_ANGSA, FS_BOLD,12);
$graph->yaxis->title->Set("จำนวน (คน)");
$graph->xaxis->SetFont(FF_ANGSA, FS_BOLD,12);
$graph->xaxis->SetTickLabels($xdata);
$graph->SetMarginColor('white');
$graph->SetBackgroundGradient("white","whitesmoke",GRAD_HOR, BGRAD_MARGIN);
$bplot = new BarPlot($ydata);
$bplot->SetFillGradient('white','pink',GRAD_VERT);
$bplot->SetColor('gainsboro');
$bplot->SetWeight(1);
$bplot->value->Show();
$bplot->value->SetFont(FF_ANGSA, FS_BOLD,12);
$bplot->value->SetAngle(45);
$graph->Add($bplot);
$graph->Stroke();
?>
</body>
</html>
Tag : PHP, Ms Access, CakePHP
|
|
|
|
|
|
Date :
2012-09-12 20:49:19 |
By :
puch |
View :
1263 |
Reply :
5 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
tis620 ลองเปลี่ยนเป็น utf-8 ดูรึยังครับ
|
|
|
|
|
Date :
2012-09-12 23:20:11 |
By :
mangkunzo |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
ลองแล้วค่ะ ก็ยังไม่ได้
|
|
|
|
|
Date :
2012-09-13 00:22:32 |
By :
puch |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
ลองดูพวก iconv() ครับ
|
|
|
|
|
Date :
2012-09-13 08:36:45 |
By :
mr.win |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
ได้แล้วค่ะๆ
Code (PHP)
<?php
define('TTF_DIR',dirname(__FILE__).'/fonts/');
include_once("../jpgraph/src/jpgraph.php");
include_once ("../jpgraph/src/jpgraph_bar.php");
include_once ("../jpgraph/src/jpgraph_line.php");
$objConnect = odbc_connect("PersonEgat","","") or die("Error Connect to Database");
$strSQL = "SELECT * FROM Q_01_DivSex_3 ";
$objExec = odbc_exec($objConnect, $strSQL) or die ("Error Execute [".$strSQL."]");
while($objResult = odbc_fetch_array($objExec))
{
$datax[] = iconv('TIS-620', 'UTF-8', $objResult["Division"]);
$datay[] = $objResult["Total"];
}
$graph = new Graph(650,350);
$graph->SetScale("textlin");
//ตั้งค่าระยะขอบ ซ้าย ขวา บน ล่าง
$graph->SetMargin(60,41,25,25);
$graph->SetBox(1);
$graph->SetFrame(false);
$graph->title->Set("อัตรากำลัง โรงไฟฟ้าราชบุรี");
$graph->title->SetFont(FF_ANGSA,FS_BOLD,18);
$graph->ygrid->SetFill(true,'#[email protected]','#[email protected]');
$graph->ygrid->SetLineStyle('dashed');
$graph->ygrid->SetColor('gray');
$graph->xgrid->Show();
$graph->xgrid->SetLineStyle('dashed');
$graph->xgrid->SetColor('gray');
$graph->xaxis->SetTickLabels($datax);
$graph->xaxis->SetFont(FF_ANGSA,FS_NORMAL,16);
$bplot = new BarPlot($datay);
$bplot->SetWidth(0.6);
//สีกราฟแท่ง datax
$fcol='#440000';
$tcol='#FF9090';
$bplot->SetFillGradient($fcol,$tcol,GRAD_LEFT_REFLECTION);
$bplot->SetWeight(0);
$graph->Add($bplot);
/* ทำการสร้างกราฟเส้นโดยกำหนดค่าเดียวกับที่ใส่ไปให้กับกราฟแท่ง
* (อาจจะกำหนดค่าอื่นก็ได้ครับ) และจากนั้นก็กำหนดสีให้ fill ให้กับกราฟเส้น
* และกำหนดสีเส้นให้กับกราฟเส้นเป็น [email protected]
*/
$lplot = new LinePlot($datay);
$lplot->SetFillColor('[email protected]');
$lplot->SetColor('[email protected]');
$lplot->SetBarCenter();
/* กำหนดรูปแบบที่ใช้ในการ mark จุดตามค่านั้น ๆ โดยใช้เป็นวงกลมทึบ
* และกำหนดสีขอบให้กับ mark นั้น ๆ เป็น [email protected]
* กำหนดสี fill ให้กับ mark นั้น ๆ เป็น lightblue
* กำหนดขนาดของ mark นั้น ๆ เป็น 3
* Add เข้าไปใน $graph เพื่อสร้างกราฟเส้นใน Graph
*/
$lplot->mark->SetType(MARK_FILLEDCIRCLE);
$lplot->mark->SetColor('[email protected]');
$lplot->mark->SetFillColor('lightblue');
$lplot->mark->SetSize(3);
$graph->Add($lplot);
$graph->Stroke();
?>
เอามาแชร์นะ ขอบคุณมากค่ะ
|
|
|
|
|
Date :
2012-09-14 00:14:08 |
By :
puch |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
เยี่ยมครับ
|
|
|
|
|
Date :
2012-09-14 06:09:03 |
By :
mr.win |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
Load balance : Server 04
|