|
|
|
กราฟไม่ขึ้นภาษาไทยครับ จึงอยากจะรบกวนผู้รู้แนะนำให้ผมด้วยครับ ขอบคุณครับ |
|
|
|
|
|
|
|
คือผมถึงข้อมูลจาด Data Base มาทำกราฟครับ พอแสดงผมออกมาไม่เป็นภาษาไทย จึงอยากจะรบกวนผู้รู้แนะนำให้ผมด้วยครับ ขอบคุณครับ
สคิปที่ผมเขียนครับ
Code (PHP)
<?
header("Content-type: image/png");
$img = ImageCreate(500, 310); //สร้างรูปขนาด 250x320
ImageColorAllocate($img, 255, 255, 255); //กำหนดพื้นรูปเป็นสีขาว
//กำหนดสีที่ใช้ในการวาด
$line = ImageColorAllocate($img ,176, 208, 210);
$dataFill = ImageColorAllocate($img, 122, 176, 180);
$black = ImageColorAllocate($img, 87, 32, 324);
//สร้างเส้นตรงในแนวตั้ง ซึ่งเป็นเส้นที่ขนาบขอบด้านซ้ายของแผนภูมิแท่ง
ImageLine($img, 50, 50, 50, 50, $line);
$bartick = 20; //ความหนาของแผนภูมิแท่งแต่ละอัน
$barspace = 30; //ระยะห่างระหว่างแผนภูมิแท่งแต่ละอัน
$barmax = 400; //ความยาวสูงสุดของแผนภูมิแท่ง
$baseX = 50; //จุดเริ่มต้นในแนวนอนของแผนภูมิแท่ง
$baseY = 30; //จุดเริ่มต้นในแนวตั้งของแผนภูมิแท่ง
include "connect.php";
$sql = "SELECT * FROM request
INNER JOIN status_req
ON request.status_Req_id = status_req.status_Req_id Group by request.status_Req_id
";
$rs = mysql_query($sql) or die("Cannot query");
$objResult = mysql_fetch_array($rs);
$rn=mysql_num_rows($rs);
//วนลูปเพื่อสร้างแผนภูมิแท่ง
for($i=0; $i<=$rn-1; $i++){
$REQID[$i]=mysql_result($rs, $i, "status_req.status_Req_id");
$REQName[$i]=mysql_result($rs, $i, "status_req.Status_Req_name");
$sqlNum = "select * FROM request
Where status_Req_id = '$REQID[$i]' ";
$rs_NUM = mysql_query($sqlNum) or die("Cannot query");
$objResultNUM = mysql_fetch_array($rs_NUM);
$rn_Num[$i]=mysql_num_rows($rs_NUM);
//หาจำนวนเความกว้างของกราฟ
$percent[$i]=$rn_Num[$i];
$data[$i]=$rn_Num[$i]*$barmax /5;
/* สร้างตัวแปรอาร์เรย์เก็บพิกัดของมุมต่างๆของแผนภูมิแท่ง เพื่อนำไปกำหนดให้ฟังก์ชั่น
ImagePolygon() */
$setBar[$i] = array($baseX, $baseY,
($baseX + $barmax), $baseY,
($baseX + $barmax), ($baseY + $bartick),
$baseX, ($baseY + $bartick));
//ใช้ฟังก์ชั่น ImagePolygon() เพื่อสร้างแผนภูมิแท่ง
ImagePolygon($img, $setBar[$i], 4, $line);
//วาดแผนภูมิแท่ง โดยใช้ฟังก์ชั่น ImageFilledRectangle()
ImageFilledRectangle($img, $baseX, $baseY, ($data[$i]+50), ($baseY + $bartick), $dataFill);
//แสดงข้อความเพื่อบอกค่าของแผนภูมิแท่งแต่ละอัน
ImageString($img, 3, ($baseX - 10), $baseY + 5, $REQName[$i] , $black);
ImageString($img, 3, ($data[$i] + 55), $baseY + 5,
number_format($percent[$i]), $black);
$baseY += $barspace; //ขยับจุดเริ่มต้นในแนวตั้งของแผนภูมิแท่ง
}
ImagePNG($img);
ImageDestroy($img);
?>
Tag : PHP, MySQL, HTML/CSS
|
|
|
|
|
|
Date :
2015-05-15 12:00:02 |
By :
diewday |
View :
673 |
Reply :
3 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
ลองใช้ iconv() แปลงให้เป็น UTF-8 ก่อนครับ ถ้ายังไม่ได้ แสดงว่าน่าจะต้องใช้ Font มาเกี่ยวข้องด้วยครับ
|
|
|
|
|
Date :
2015-05-15 13:05:10 |
By :
mr.win |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
ขอบคุณมากครับ
|
|
|
|
|
Date :
2015-05-15 16:08:30 |
By :
diewday |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
Load balance : Server 01
|