Register Register Member Login Member Login Member Login Forgot Password ??
PHP , ASP , ASP.NET, VB.NET, C#, Java , jQuery , Android , iOS , Windows Phone
 

Registered : 109,038

HOME > PHP > PHP Forum > แปลงข้อมูลกราฟ ตัวเลข เป็นตัวหนังสือ + มีรูปค่ะ ช่วยยกตัวอย่างหน่อยค่ะ



 

แปลงข้อมูลกราฟ ตัวเลข เป็นตัวหนังสือ + มีรูปค่ะ ช่วยยกตัวอย่างหน่อยค่ะ

 



Topic : 040322



โพสกระทู้ ( 231 )
บทความ ( 0 )



สถานะออฟไลน์




ช่วยยกตัวอย่างหน่อยค่ะ
www

Code (PHP)
<?
header("Content-type: image/png");
// ค่าของข้อมูลที่ต้องการสร้างกราฟ

include("../fun/config.inc.php");
mysql_connect($hostname, $user, $password) or die("ติดต่อฐานข้อมูลไม่ได้");
mysql_select_db($dbname) or die("เลือกฐานข้อมูลไม่ได้");
mysql_query("SET NAMES UTF8"); 

//////////////////////////////////////////////////////////////////////////////////////////////////////////
$max = mysql_query("select SUM(service_num) from tb_job where service_code='sv001'");
$max2 = mysql_query("select SUM(service_num) from tb_job where service_code='sv002'");
$max3 = mysql_query("select SUM(service_num) from tb_job where service_code='sv003'");
$max4 = mysql_query("select SUM(service_num) from tb_job where service_code='sv004'");
$max5 = mysql_query("select SUM(service_num) from tb_job where service_code='sv005'");
$max6 = mysql_query("select SUM(service_num) from tb_job where service_code='sv006'");
$max7 = mysql_query("select SUM(service_num) from tb_job where service_code='sv007'");
$max8 = mysql_query("select SUM(service_num) from tb_job where service_code='sv008'");
//////////////////////////////////////////////// end //////////////////////////////////////////////////////////
$total_max = mysql_result($max,0);
$total_max2 = mysql_result($max2,0);
$total_max3 = mysql_result($max3,0);
$total_max4 = mysql_result($max4,0);
$total_max5 = mysql_result($max5,0);
$total_max6 = mysql_result($max6,0);
$total_max7 = mysql_result($max7,0);
$total_max8 = mysql_result($max8,0);
$data[1]="$total_max";
$data[2]="$total_max2";
$data[3]="$total_max3";
$data[4]="$total_max4";
$data[5]="$total_max5";
$data[6]="$total_max6";
$data[7]="$total_max7";
$data[8]="$total_max8";
$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; //จุดเริ่มต้นในแนวตั้งของแผนภูมิแท่ง

//วนลูปเพื่อสร้างแผนภูมิแท่ง
for ($i=1; $i<=count($data); $i++) {
//หาจำนวนเความกว้างของกราฟ
$percent[$i]=$data[$i];
$data[$i]=$data[$i]*$barmax /100;

/* สร้างตัวแปรอาร์เรย์เก็บพิกัดของมุมต่างๆของแผนภูมิแท่ง เพื่อนำไปกำหนดให้ฟังก์ชั่น
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, $i , $black);
ImageString($img, 3, ($data[$i] + 55), $baseY + 5,
number_format($percent[$i]) ."%", $black);

$baseY += $barspace; //ขยับจุดเริ่มต้นในแนวตั้งของแผนภูมิแท่ง
}

ImagePNG($img);
ImageDestroy($img);
?>

<meta http-equiv="content-type" content="text/html;charset=utf-8"/>
<?




echo "<CENTER> รวม : $total_max</CENTER>";

?>





Tag : - - - -







Move To Hilight (Stock) 
Send To Friend.Bookmark.
Date : 2010-03-14 17:29:12 By : Ninezy View : 1841 Reply : 8
 

 

No. 1



โพสกระทู้ ( 3,468 )
บทความ ( 0 )

สมาชิกที่ใส่เสื้อไทยครีเอท

สถานะออฟไลน์
Twitter

Code (PHP)
//วนลูปเพื่อสร้างแผนภูมิแท่ง
$cols = array('ถอนฟัน', 'อุดฟัน', 'xxx'); //สร้างให้มีจำนวนเท่ากับที่แสดง

for ($i=1; $i<=count($data); $i++) {
//หาจำนวนเความกว้างของกราฟ
$percent[$i]=$data[$i];
$data[$i]=$data[$i]*$barmax /100;

/* สร้างตัวแปรอาร์เรย์เก็บพิกัดของมุมต่างๆของแผนภูมิแท่ง เพื่อนำไปกำหนดให้ฟังก์ชั่น
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, $cols[$i - 1] , $black); //บรรทัดนี้ผมแก้ ให้แสดงค่าในอาเรย์แทน
ImageString($img, 3, ($data[$i] + 55), $baseY + 5,
number_format($percent[$i]) ."%", $black);

$baseY += $barspace; //ขยับจุดเริ่มต้นในแนวตั้งของแผนภูมิแท่ง
}



ไม่ได้ลองนะครับ คิดว่าน่าจะได้แล้ว






Date : 2010-03-14 17:40:45 By : pjgunner
 


 

No. 2



โพสกระทู้ ( 1,242 )
บทความ ( 13 )

สมาชิกที่ใส่เสื้อไทยครีเอท

สถานะออฟไลน์
Twitter Facebook

ผมเดาเอานะครับว่าน่าจะเป็นที่ตัวแปร $i

สร้างคำที่ต้องแสดงเป็น array

$label = array('ถอนฟัน', 'อุดฟัน', 'ใส่ฟัน');  //ที่เหลือเพิ่มเอาเองนะครับ

ImageString($img, 3, ($baseX - 10), $baseY + 5, $label[$i-1] , $black);

Date : 2010-03-14 17:44:35 By : DownsTream
 

 

No. 3



โพสกระทู้ ( 3,468 )
บทความ ( 0 )

สมาชิกที่ใส่เสื้อไทยครีเอท

สถานะออฟไลน์
Twitter

เป็นผม หา ตัว js ใช้ดีกว่า ประหยัดทรัพยากรเซอร์ฟเวอร์ครับ แถมอาจมี effect แถมตอนเอาเมาส์ชี้



แต่จริงๆยังไม่เคยวาดกราฟแลยแฮะ php
Date : 2010-03-14 17:52:16 By : pjgunner
 


 

No. 4



โพสกระทู้ ( 231 )
บทความ ( 0 )



สถานะออฟไลน์


122
แก้ยังไงดีค่ะ แล้วตัวหนังสือมันทับกันด้วยค่ะ
ใส่ <meta http-equiv="content-type" content="text/html;charset=utf-8"/> บนสุดก็ไม่ได้
มันติด header("Content-type: image/png");
Date : 2010-03-14 18:03:25 By : Ninezy
 


 

No. 5



โพสกระทู้ ( 3,468 )
บทความ ( 0 )

สมาชิกที่ใส่เสื้อไทยครีเอท

สถานะออฟไลน์
Twitter

เรื่องตัวหนังสือผมไม่แน่ใจว่า ต้องปรับ encoding ที่สตริงเป็นอะไรนะครับ ส่วนเรื่อง ตำแหน่ง ดูที่แกน x ครับ ให้น้อยลง

จาก
ImageString($img, 3, ($baseX - 10), $baseY + 5, $cols[$i - 1] , $black);

อาจเป็น
ImageString($img, 3, ($baseX - 60), $baseY + 5, $cols[$i - 1] , $black);


ส่วน encoding นี่ไม่รู้ ลองมั่วดูเป็น
ImageString($img, 3, ($baseX - 60), $baseY + 5, iconv('ISO-8859-1', 'UTF-8', $cols[$i - 1]) , $black);

ไม่รู้ว่าจะได้หรือป่าวนะ
Date : 2010-03-14 18:12:23 By : pjgunner
 


 

No. 6



โพสกระทู้ ( 231 )
บทความ ( 0 )



สถานะออฟไลน์


ขอบคุณค่ะ ตัวหนังสือไม่ทับกันแล้ว แต่ยังติดที่ตัวหนังสือเป็นภาษาไรไม่รู้
Date : 2010-03-14 18:20:19 By : Ninezy
 


 

No. 7



โพสกระทู้ ( 3,468 )
บทความ ( 0 )

สมาชิกที่ใส่เสื้อไทยครีเอท

สถานะออฟไลน์
Twitter

งั้นไปลองมั่วดูเองแล้วกันครับ ผมก็ไม่รู้ว่าจำเป็นต้อง เซตฟอนต์ให้มันหรือป่าวนะครับ

http://www.narisa.com/forums/index.php?showtopic=14939

http://www.ywc.in.th/board/index.php?action=printpage;topic=20.0
Date : 2010-03-14 18:29:26 By : pjgunner
 


 

No. 8



โพสกระทู้ ( 231 )
บทความ ( 0 )



สถานะออฟไลน์


แก้ไม่ได้เลย ตั้งแต่ตอนเย็นละ สงสัยมันคงไม่รองรับภาษาไทยแน่ๆ T_T
Date : 2010-03-14 20:57:52 By : Ninezy
 

   

ค้นหาข้อมูล


   
 

แสดงความคิดเห็น
Re : แปลงข้อมูลกราฟ ตัวเลข เป็นตัวหนังสือ + มีรูปค่ะ ช่วยยกตัวอย่างหน่อยค่ะ
 
 
รายละเอียด
 
ตัวหนา ตัวเอียง ตัวขีดเส้นใต้ ตัวมีขีดกลาง| ตัวเรืองแสง ตัวมีเงา ตัวอักษรวิ่ง| จัดย่อหน้าอิสระ จัดย่อหน้าชิดซ้าย จัดย่อหน้ากึ่งกลาง จัดย่อหน้าชิดขวา| เส้นขวาง| ขนาดตัวอักษร แบบตัวอักษร
ใส่แฟลช ใส่รูป ใส่ไฮเปอร์ลิ้งค์ ใส่อีเมล์ ใส่ลิ้งค์ FTP| ใส่แถวของตาราง ใส่คอลัมน์ตาราง| ตัวยก ตัวห้อย ตัวพิมพ์ดีด| ใส่โค้ด ใส่การอ้างถึงคำพูด| ใส่ลีสต์
smiley for :lol: smiley for :ken: smiley for :D smiley for :) smiley for ;) smiley for :eek: smiley for :geek: smiley for :roll: smiley for :erm: smiley for :cool: smiley for :blank: smiley for :idea: smiley for :ehh: smiley for :aargh: smiley for :evil:
Insert PHP Code
Insert ASP Code
Insert VB.NET Code Insert C#.NET Code Insert JavaScript Code Insert C#.NET Code
Insert Java Code
Insert Android Code
Insert Objective-C Code
Insert XML Code
Insert SQL Code
Insert Code
เพื่อความเรียบร้อยของข้อความ ควรจัดรูปแบบให้พอดีกับขนาดของหน้าจอ เพื่อง่ายต่อการอ่านและสบายตา และตรวจสอบภาษาไทยให้ถูกต้อง

อัพโหลดแทรกรูปภาพ

Notice

เพื่อความปลอดภัยของเว็บบอร์ด ไม่อนุญาติให้แทรก แท็ก [img]....[/img] โดยการอัพโหลดไฟล์รูปจากที่อื่น เช่นเว็บไซต์ ฟรีอัพโหลดต่าง ๆ
อัพโหลดแทรกรูปภาพ ให้ใช้บริการอัพโหลดไฟล์ของไทยครีเอท และตัดรูปภาพให้พอดีกับสกรีน เพื่อความโหลดเร็วและไฟล์ไม่ถูกลบทิ้ง

   
  เพื่อความปลอดภัยและการตรวจสอบ กระทู้ที่แทรกไฟล์อัพโหลดไฟล์จากที่อื่น อาจจะถูกลบทิ้ง
 
โดย
อีเมล์
บวกค่าให้ถูก
<= ตัวเลขฮินดูอารบิก เช่น 123 (หรือล็อกอินเข้าระบบสมาชิกเพื่อไม่ต้องกรอก)







Exchange: นำเข้าสินค้าจากจีน, Taobao, เฟอร์นิเจอร์, ของพรีเมี่ยม, ร่ม, ปากกา, power bank, แฟลชไดร์ฟ, กระบอกน้ำ

Load balance : Server 02
ThaiCreate.Com Logo
© www.ThaiCreate.Com. 2003-2025 All Rights Reserved.
ไทยครีเอทบริการ จัดทำดูแลแก้ไข Web Application ทุกรูปแบบ (PHP, .Net Application, VB.Net, C#)
[Conditions Privacy Statement] ติดต่อโฆษณา 081-987-6107 อัตราราคา คลิกที่นี่