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

HOME > PHP > PHP Forum > ช่วยแนะนำหน่อยค่ะ เกี่ยวกับ google charts ไม่รู้จะเขียน mysql แบบไหน ให้แสดงข้อมูล 2 ชุด



 

ช่วยแนะนำหน่อยค่ะ เกี่ยวกับ google charts ไม่รู้จะเขียน mysql แบบไหน ให้แสดงข้อมูล 2 ชุด

 



Topic : 107438



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



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




เก็บ db แบบนี้

about my database
* ch_acc_mid -> 1= รายรับ 2 = รายจ่าย

เขียน mysql แบบนี้
Code (PHP)
$month_arr=array(1=>'ม.ค',2=>'ก.พ',3=>'มี.ค',4=>'เม.ย',5=>'พ.ค',6=>'มิ.ย',  
7=>'ก.ค',8=>'ส.ค',9=>'ก.ย',10=>'ต.ค',11=>'พ.ย',12=>'ธ.ค'); 

$sql_m="SELECT ch_acc_mid , ch_acc_amount , ch_acc_dates , MONTH( ch_acc_dates ) AS month1 , YEAR( ch_acc_dates ) AS year1, SUM( ch_acc_amount ) AS TotalAmount
FROM ch_acc_refer WHERE  YEAR( ch_acc_dates )= YEAR(now())   GROUP BY MONTH( ch_acc_dates ) , YEAR( ch_acc_dates )  ORDER BY MONTH( ch_acc_dates ) , YEAR( ch_acc_dates ) ASC ";
$str_rs=mysql_query($sql_m) or die(mysql_error());

$chart="['ประจำเดือน','รายรับ']";  
while($obj=mysql_fetch_assoc($str_rs)){
     $rep_arr[$obj['month1']]=$obj['TotalAmount'];  
}  
foreach($month_arr as $key_m => $val_m){  
 $chart.=",['".$val_m."',".($rep_arr[$key_m]*1)."]"; 
}  



แล้วก็ สคริปแสดงชาร์ตแบบนี้
Code (PHP)
 <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([
          ['Month', 'Sales', 'Expenses'],
          ['1',  1000,      400],
          ['2',  1170,      460],
          ['3',  660,       1120],
          ['4',  1030,      540]
        ]); อันนี้เป็นแบบดั้งเดิม*/
		 var data = google.visualization.arrayToDataTable([<?=$chart?>]);  

        var options = {
          title: 'ข้อมูลรายรับรายจ่าย',
          hAxis: {title: 'เดือน', titleTextStyle: {color: 'red'}}
        };

        var chart = new google.visualization.ColumnChart(document.getElementById('chart_div'));
        chart.draw(data, options);
      }
    </script>
  
    <div id="chart_div" style="width: 100%; height: 500px;"></div>


ได้ชาร์ตแบบนี้
about picture charts

แต่ว่าอยากได้ เป็นกราฟเปรียบเทียบข้อมูล รายรับ-รายจ่าย ต้องเขียน sql ยังไงคะ



Tag : PHP, MySQL







Move To Hilight (Stock) 
Send To Friend.Bookmark.
Date : 2014-04-02 15:16:29 By : dearyp View : 1926 Reply : 3
 

 

No. 1



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

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

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

ใน Tutorial เค้าก็มีน่ะครับ
Google columnchart#SimpleExample








ประวัติการแก้ไข
2014-04-02 16:23:16
แสดงความคิดเห็นโดยอ้างถึง ความคิดเห็นนี้
Date : 2014-04-02 16:22:09 By : mangkunzo
 


 

No. 2



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



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


ตอบความคิดเห็นที่ : 1 เขียนโดย : mangkunzo เมื่อวันที่ 2014-04-02 16:22:09
รายละเอียดของการตอบ ::
เอาจากตรงนี้ ไปแหละค่ะ ติดปัญหา sql ไม่รู้จะ เขียนยังไง ถ้าเก็บ db แบบนี้ คือหนูเอาออกมาได้ค่าเดียว ไม่รายจ่าย(WHERE ch_acc_mid=2) ก็ รายรับ(WHERE ch_acc_mid=1) อ่ะค่ะพี่ ได้โปรด T^T

แสดงความคิดเห็นโดยอ้างถึง ความคิดเห็นนี้
Date : 2014-04-02 16:40:55 By : dearyp
 

 

No. 3



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



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


ได้แล้วค่ะ

Code (PHP)
$sql_m="SELECT a.mon_th,a.Valyear, a.Sales, b.Expense
FROM (

SELECT MONTH( ch_acc_dates ) AS mon_th, YEAR( ch_acc_dates ) AS Valyear ,SUM( ch_acc_amount ) AS Sales
FROM ch_acc_refer
WHERE ch_acc_mid =  '1'
GROUP BY MONTH( ch_acc_dates ) , YEAR( ch_acc_dates ) 
ORDER BY MONTH( ch_acc_dates ) , YEAR( ch_acc_dates ) ASC
)a
LEFT JOIN (

SELECT MONTH( ch_acc_dates ) AS mon_th,YEAR( ch_acc_dates ) AS Valyear , SUM( ch_acc_amount ) AS Expense
FROM ch_acc_refer
WHERE ch_acc_mid =  '2'
GROUP BY MONTH( ch_acc_dates ) , YEAR( ch_acc_dates ) 
ORDER BY MONTH( ch_acc_dates ) , YEAR( ch_acc_dates ) ASC
)b ON a.mon_th = b.mon_th
ORDER BY a.mon_th ";
$str_rs=mysql_query($sql_m) or die(mysql_error());
$thai_m=array("ม.ค","ก.พ","มี.ค","เม.ย","พ.ค","มิ.ย","ก.ค",
"ส.ค","ก.ย","ต.ค","พ.ย","ธ.ค");


while($obj=mysql_fetch_array($str_rs)){
	$value_year=$obj['Valyear']+543;
	$label = $thai_m[$obj['mon_th']-1];
    // $label=$obj['mon_th'];
    $data1=$obj['Sales'];
    $data2=$obj['Expense'];
	if( $data2==0 OR  $data2=="NULL"){
		 $data2 = 0;
	}
    $dataset[]="['$label' , $data1,$data2]"; 
}  


?>
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
<meta http-equiv="Cache-Control" content="no-cache" />
<meta http-equiv="Pragma" content="no-cache" />
<meta http-equiv="Expires" content="0" />      
<title>ข้อมูลทางสถิติ</title>
<link rel="stylesheet" type="text/css" href="css/main_owner.css" />
</head>
<body>

 <div class="center_form" >
<div id="header2" style="height:70px;">
<div class="imgc3"></div>
<font class="about">กราฟแสดงข้อมูล รายรับ-รายจ่าย</font><span style="float:right"><a href="advanced.php?module=admin&action=w_article" title="เพิ่มบทความ"><div class="manage"></div></a></span>
</div><!--header--><br /><br />

<div id="info2" style="height:300px; border-bottom:1px; ">
<?
if($dataset !=""){
$data=implode(",", $dataset);
?>
    <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([
          ['เดือน', 'รายรับ', 'รายจ่าย'],
		  <?=$data;?>
        
        ]);
		
        var options = {
          title: 'ข้อมูลรายรับรายจ่ายประจำปี <?=$value_year;?>',
		 vAxis: {title: 'จำนวน', titleTextStyle: {color: 'blue'}},
          hAxis: {title: 'เดือน', titleTextStyle: {color: 'blue'}}
		  
        };

        var chart = new google.visualization.ColumnChart(document.getElementById('chart_div'));
        chart.draw(data, options);
      }
    </script>
  
    <div id="chart_div" style="width: 100%; height: 500px;"></div>
 <?php }else{
	echo"ไม่มีข้อมูล";
 } ?>
</div><!--info-->
</div>
</body>
</html>


ดีใจ T^T


ประวัติการแก้ไข
2014-04-03 10:13:29
แสดงความคิดเห็นโดยอ้างถึง ความคิดเห็นนี้
Date : 2014-04-02 21:40:25 By : dearyp
 

   

ค้นหาข้อมูล


   
 

แสดงความคิดเห็น
Re : ช่วยแนะนำหน่อยค่ะ เกี่ยวกับ google charts ไม่รู้จะเขียน mysql แบบไหน ให้แสดงข้อมูล 2 ชุด
 
 
รายละเอียด
 
ตัวหนา ตัวเอียง ตัวขีดเส้นใต้ ตัวมีขีดกลาง| ตัวเรืองแสง ตัวมีเงา ตัวอักษรวิ่ง| จัดย่อหน้าอิสระ จัดย่อหน้าชิดซ้าย จัดย่อหน้ากึ่งกลาง จัดย่อหน้าชิดขวา| เส้นขวาง| ขนาดตัวอักษร แบบตัวอักษร
ใส่แฟลช ใส่รูป ใส่ไฮเปอร์ลิ้งค์ ใส่อีเมล์ ใส่ลิ้งค์ 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 03
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 อัตราราคา คลิกที่นี่