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,027

HOME > PHP > PHP Forum > เรื่องกราฟครับ เอาค่าจากในฐานข้อมูล ไปวนลูปในกราฟยังไง ช่วยหน่อยครับ ปัญหาที่คิดไม่ออกครับ เพราะไม่ถนัดอยากได้คำแนะนำครับ



 

เรื่องกราฟครับ เอาค่าจากในฐานข้อมูล ไปวนลูปในกราฟยังไง ช่วยหน่อยครับ ปัญหาที่คิดไม่ออกครับ เพราะไม่ถนัดอยากได้คำแนะนำครับ

 



Topic : 098330



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



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



ผมมีตารางนี้ครับ

โค้ดแสดงกราฟครับ
<script type="text/javascript" src="https://www.google.com/jsapi"></script>
<script type="text/javascript">
      google.load("visualization", "1", {packages:["corechart"]});
      google.setOnLoadCallback(drawChart);
      function drawChart() {
        var data = google.visualization.arrayToDataTable([
		  ['เดือน', '1', '2', '3','4','5','6','7'],
          ['ม.ค', 4566,546,5454,130,140,350,1200],
          ['ก.พ',  898,865,787,130,8556,150,1300],
          ['มี.ค',  545,5465,4784,130,2254,170,990],
		  ['เม.ย', 6868,2232,5711,782,170,730,780],
		  ['พ.ค', 452,865,120,5441,8548,830,1570],
		  ['มิ.ย',  5685,5554,1277,788,190,450,7985],
		  ['ก.ค',  543,1111,1447,130,888,780,780],
		  ['ส.ค',  5464,2222,7874,130,210,890,1300],
		  ['ก.ย',  1001,4574,5444,130,8897,780,1430],
		  ['ต.ค',  1455,235,7895,4455,855,8987,1470],
		  ['พ.ย',  1785,2355,1010,8787,240,250,7890],
          ['ธ.ค',  1258,2131,2020,457,250,780,2580]
        ]);

        var options = {
          title: 'แสดงยอดขายสินค้า'
        };

        var chart = new google.visualization.LineChart(document.getElementById('chart_div'));
        chart.draw(data, options);
      }
    </script>


ผมต้องการเอา ตารางด้านบนมาวนใน สคริปนีด้านบนครับ

โดย เอาค่าในตารางด้านบนมาใส่ตรงนี้ครับ ['เดือน', '1', '2', '3','4','5','6','7'] โดยชื่อ Group_name เอามาใส่แทน 1 2 3 4 ... ต้องนี้ครับ มันก็จะมี 7 เส้น ครับ

แล้วค่ามัน ได้จากอันนี้ครับ



ก็คือ จะเปลี่ยบเทียบ ว่า ค่า Group_Code มันเท่ากัน ก็จะได้จำนวน ของมันมา แล้วเอาค่า total ที่ได้ของแต่ละอันมาใส่แทนค่าตัวเลข จากด้านบนครับ โดยแบ่งตาม เดือนและ ปี ที่get มาครั

ผมไม่รู้ว่าต้องเอาไปใส่ไป วนยังไง เพราะค่า total ผมได้มาแล้ว แต่เอาไปวนไม่เป้น รบกวน พี่ ๆ ช่วยหน่อยครับ



Tag : PHP, HTML/CSS, Ajax, jQuery, CakePHP







Move To Hilight (Stock) 
Send To Friend.Bookmark.
Date : 2013-07-27 14:51:35 By : JindaCpe8 View : 734 Reply : 12
 

 

No. 1



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



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

รูปอัพไม่ได้ครับ






แสดงความคิดเห็นโดยอ้างถึง ความคิดเห็นนี้
Date : 2013-07-27 14:51:58 By : JindaCpe8
 


 

No. 2



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



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

Code (PHP)
<?php 
$data = " ['เดือน', '1', '2', '3','4','5','6','7'],
	  ['ม.ค', 4566,546,5454,130,140,350,1200],
	  ['ก.พ',  898,865,787,130,8556,150,1300],
	  ['มี.ค',  545,5465,4784,130,2254,170,990],
	  ['เม.ย', 6868,2232,5711,782,170,730,780],
	  ['พ.ค', 452,865,120,5441,8548,830,1570],
	  ['มิ.ย',  5685,5554,1277,788,190,450,7985],
	  ['ก.ค',  543,1111,1447,130,888,780,780],
	  ['ส.ค',  5464,2222,7874,130,210,890,1300],
	  ['ก.ย',  1001,4574,5444,130,8897,780,1430],
	  ['ต.ค',  1455,235,7895,4455,855,8987,1470],
	  ['พ.ย',  1785,2355,1010,8787,240,250,7890],
	  ['ธ.ค',  1258,2131,2020,457,250,780,2580]";
?>
<html>
<head>
<script type="text/javascript" src="https://www.google.com/jsapi"></script>
<script type="text/javascript">
  google.load("visualization", "1", {packages:["corechart"]});
  google.setOnLoadCallback(drawChart);
  function drawChart() {
	var data = google.visualization.arrayToDataTable([
	 <?php echo $data;?>
	]);

	var options = {
	  title: 'แสดงยอดขายสินค้า'
	};

	var chart = new google.visualization.LineChart(document.getElementById('chart_div'));
	chart.draw(data, options);
  }
</script>
</head>
<body>
<div id="chart_div"></div>
</body>
</html>

แสดงความคิดเห็นโดยอ้างถึง ความคิดเห็นนี้
Date : 2013-07-27 15:18:53 By : {Cyberman}
 

 

No. 3



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



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

ถ้าไม่อยากจัดรูปแบบให้ยุ่งยาก ใช้ json_encode() และใช้ eval() ในการแปลงสตริงไปเป็นอาร์เรย์ ในจาวาสคริปต์

Code (PHP)
<?php 

//SET in while loop
$arr[] = array('เดือน', '1', '2', '3','4','5','6','7');
$arr[] = array('ม.ค', 4566,546,5454,130,140,350,1200);
$arr[] = array('ก.พ',  898,865,787,130,8556,150,1300);
$arr[] = array('มี.ค',  545,5465,4784,130,2254,170,990);
$arr[] = array('เม.ย', 6868,2232,5711,782,170,730,780);
$arr[] = array('พ.ค', 452,865,120,5441,8548,830,1570);
$arr[] = array('มิ.ย',  5685,5554,1277,788,190,450,7985);
$arr[] = array('ก.ค',  543,1111,1447,130,888,780,780);
$arr[] = array('ส.ค',  5464,2222,7874,130,210,890,1300);
$arr[] = array('ก.ย',  1001,4574,5444,130,8897,780,1430);
$arr[] = array('ต.ค',  1455,235,7895,4455,855,8987,1470);
$arr[] = array('พ.ย',  1785,2355,1010,8787,240,250,7890);
$arr[] = array('ธ.ค',  1258,2131,2020,457,250,780,2580);

$data = json_encode($arr);

?>
<html>
<head>
<script type="text/javascript" src="https://www.google.com/jsapi"></script>
<script type="text/javascript">
  google.load("visualization", "1", {packages:["corechart"]});
  google.setOnLoadCallback(drawChart);
  function drawChart() {
	/*
	var data = google.visualization.arrayToDataTable([
	 <?php echo $data;?>
	]);
	*/
	var res = eval(<?php echo $data;?>);
	var data = google.visualization.arrayToDataTable(res);
	
	var options = {
	  title: 'แสดงยอดขายสินค้า'
	};

	var chart = new google.visualization.LineChart(document.getElementById('chart_div'));
	chart.draw(data, options);
  }
</script>
</head>
<body>
<div id="chart_div"></div>
</body>
</html>

แสดงความคิดเห็นโดยอ้างถึง ความคิดเห็นนี้
Date : 2013-07-27 15:25:54 By : {Cyberman}
 


 

No. 4



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



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

ตอนวนด้านบนนิวนแบบไหนหรอครับ
แสดงความคิดเห็นโดยอ้างถึง ความคิดเห็นนี้
Date : 2013-07-27 17:14:59 By : JindaCpe8
 


 

No. 5



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



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

แบบนี้ วนแล้ว กราฟไม่แสดงอะครับ
<?php 
$q = "SELECT SUM( o.Quanlity ) AS total, o.OrderNo, o.ProductID, i.item_Code, g.Group_Code, i.Group_Code
						FROM order_detail AS o, inventory AS i, groupindex AS g
						WHERE i.Group_Code = g.Group_Code AND o.ProductID = i.item_Code 
						GROUP BY i.Group_Code";
$ext = mysql_query($q);
if(mysql_num_rows($ext)>0){
$arr = array();
while($r = mysql_fetch_array($ext)){
$arr[] = array($r["item_Name"]
,$r['total']);
$runNo++;
}
}
$data = json_encode($arr);

?>

แสดงความคิดเห็นโดยอ้างถึง ความคิดเห็นนี้
Date : 2013-07-27 17:48:30 By : JindaCpe8
 


 

No. 6



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



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

ไม่มีใครรู้เลยหรอ
แสดงความคิดเห็นโดยอ้างถึง ความคิดเห็นนี้
Date : 2013-07-27 21:20:40 By : JindaCpe8
 


 

No. 7



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



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

เดือนต่างๆ มาจากไหนครับ

ต้องดึงค่าต่างๆ เก็บไว้ในอาร์เรย์ตามคีย์ของแต่ละเดือนก่อนนะครับ

โดยที่ค่าที่จะเก็บเข้าไปเป็นค่าแรก ต้องเป็นเดือน แล้วค่าต่อๆไปจึงจะเก็บตัวเลขครับ

Code (PHP)
$arr = array();
while($r = mysql_fetch_array($ext)){
    if(!isset($arr[$r['month']])){
        $arr[$r['month']][] = $r['month'];//ค่าแรกเป็น เดือนต่างๆ
    }
    $arr[$r['month']][] = $r['total'];//ค่าต่อๆ ไปเก็บเป็นตัวเลข
}


* month เป็นฟิลด์สมมติ ต้องกำหนดให้ตรงกับฟิลด์ของท่านเอง


ประวัติการแก้ไข
2013-07-27 22:53:45
2013-07-27 22:54:36
แสดงความคิดเห็นโดยอ้างถึง ความคิดเห็นนี้
Date : 2013-07-27 22:52:23 By : {Cyberman}
 


 

No. 8



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



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

แบบนี้หรือเปล่าครับ
Code (PHP)
<?php 
$thai_month_arr=array(  
    "0"=>"",  
    "1"=>"ม.ค",  
    "2"=>"ก.พ",  
    "3"=>"มี.น",  
    "4"=>"เม.ย",  
    "5"=>"พ.ฤ",  
    "6"=>"มิ.ย",   
    "7"=>"ก.ค",  
    "8"=>"ส.ค",  
    "9"=>"ก.ย",  
    "10"=>"ต.ค",  
    "11"=>"พ.ย",  
    "12"=>"ธ.ค"                    
); 
$q = "SELECT SUM( o.Quanlity ) AS total, o.OrderNo, o.ProductID, i.item_Code, g.*, i.Group_Code
						FROM order_detail AS o, inventory AS i, groupindex AS g
						WHERE i.Group_Code = g.Group_Code
						AND o.ProductID = i.item_Code
						GROUP BY i.Group_Code";
$ext = mysql_query($q);
if(mysql_num_rows($ext)>0){
$arr = array();
while($r = mysql_fetch_array($ext)){
			if(!isset($arr[$r['month']])){
				$arr[$r['month']][] = $thai_month_arr;//ค่าแรกเป็น เดือนต่างๆ
			}
				$arr[$r['month']][] = $r['total'];//ค่าต่อๆ ไปเก็บเป็นตัวเลข
		}
}
$data = json_encode($arr);
echo $data;
?>

แสดงความคิดเห็นโดยอ้างถึง ความคิดเห็นนี้
Date : 2013-07-27 23:02:48 By : JindaCpe8
 


 

No. 9



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



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

ไส่แบบนี้แล้วเหมือนจะยังไม่ออก น่าจะเกี่ยวกับตัวนี้ $arr[0] = array('ชื่อกลุ่ม', '1', '2', '3','4','5','6','7'); แต่ไม่รู้จะใส่ตรงไหนครับ
<?php 
$thai_month_arr=array(  
    "0"=>"",  
    "1"=>"1",  
    "2"=>"2",  
    "3"=>"3",  
    "4"=>"4",  
    "5"=>"5",  
    "6"=>"6",   
    "7"=>"7",  
    "8"=>"8",  
    "9"=>"9",  
    "10"=>"10",  
    "11"=>"11",  
    "12"=>"12"                    
); 
$q = "SELECT SUM( o.Quanlity ) AS total, o.OrderNo, o.ProductID, i.item_Code, g.*, i.Group_Code
						FROM order_detail AS o, inventory AS i, groupindex AS g
						WHERE i.Group_Code = g.Group_Code
						AND o.ProductID = i.item_Code
						GROUP BY i.Group_Code";
$ext = mysql_query($q);
if(mysql_num_rows($ext)>0){
$arr = array();
while($r = mysql_fetch_array($ext)){
			if(!isset($arr[$r['month']])){
				$arr[$r['month']][] = $thai_month_arr;//ค่าแรกเป็น เดือนต่างๆ
			}
				$arr[$r['month']][] = $r['total'];//ค่าต่อๆ ไปเก็บเป็นตัวเลข
		}
}
$data = json_encode($arr);
echo $data;
?>

แสดงความคิดเห็นโดยอ้างถึง ความคิดเห็นนี้
Date : 2013-07-27 23:12:59 By : JindaCpe8
 


 

No. 10



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



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

$r['month'] อยู่ในตารางไหนครับ ผมไม่มั่นใจว่าตารางท่านจะมีชื่อฟิลด์นี้อยู่จริง

แล้วก็ส่วนของการเก็บค่าแรกเป็นชื่อเดือนนั้น ต้องระบุคีย์ด้วยครับ
$arr[$r['month']][] = $thai_month_arr[$r['month']];//ค่าแรกเป็น เดือนต่างๆ


* สำคัญมาก
$r['month'] ฟิลด์ month ต้องมีอยู่จริง และมีค่า 0 - 12 ตามที่ท่านประการตัวแปร $thai_month_arr เอาไว้แล้ว
แสดงความคิดเห็นโดยอ้างถึง ความคิดเห็นนี้
Date : 2013-07-28 06:55:38 By : {Cyberman}
 


 

No. 11



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



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

ตอบความคิดเห็นที่ : 10 เขียนโดย : {Cyberman} เมื่อวันที่ 2013-07-28 06:55:38
รายละเอียดของการตอบ ::
มันเป็น ฟิว date ครับ เก็บประมาณนี้ 2013-07-23 ครับ

แสดงความคิดเห็นโดยอ้างถึง ความคิดเห็นนี้
Date : 2013-07-28 12:17:45 By : JindaCpe8
 


 

No. 12



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



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

ต้อง SELECT MONTH(date) AS month .............. ด้วยครับสคริปต์ถึงจะใช้ได้
แสดงความคิดเห็นโดยอ้างถึง ความคิดเห็นนี้
Date : 2013-07-28 13:47:40 By : {Cyberman}
 

   

ค้นหาข้อมูล


   
 

แสดงความคิดเห็น
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-2024 All Rights Reserved.
ไทยครีเอทบริการ จัดทำดูแลแก้ไข Web Application ทุกรูปแบบ (PHP, .Net Application, VB.Net, C#)
[Conditions Privacy Statement] ติดต่อโฆษณา 081-987-6107 อัตราราคา คลิกที่นี่