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 > สอบถามเรื่องการดึงข้อมูลมาทำเป็นกราฟหรือแผนภูมิครับครับ



 

สอบถามเรื่องการดึงข้อมูลมาทำเป็นกราฟหรือแผนภูมิครับครับ

 



Topic : 125649



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



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




อันนี้เป็นอันที่ลองทำครับ เขียนๆตามในยูทูป ซึ่งพอรันเเล้ว มัน ขึ้น ว่า

Warning: mysql_fetch_array(): supplied argument is not a valid MySQL result resource in C:\AppServ\www\sudsangtein\testgarp.php on line 7

คือมันฟ้องบรรทัดนี้ครับ

Code (PHP)
$result = mysql_query($sql);while($row=mysql_fetch_array($result) )


ไม่ทราบว่าผิดตรงไหนครับ ชื่อตารางชื่อฟิลลืผมก็พิมพ์ไม่ผิดนะครับ

อันนี้แบบเต็มๆครับ

Code (PHP)
<?
include 'connect.php';
$month = array(); //ตัวแปรเเกน x
$totalprice = array(); //ตัวแปรเเกน y
$sql = "SELECT test.'month',test.'totalprice' FROM test ";
$result = mysql_query($sql);while($row=mysql_fetch_array($result) ){
	array_push($month,$row[month]);
	array_push($totalprice,$row[totalprice]);
}
?>

<!DOCTYPE html>
<html>
<head>
<meta charset="utf-8">
	<title>ทดสอบกราฟ</title>
	<script type="text/javascript" src="http://ajax.googleapis.com/ajax/lips/jquery/1.7.1/jquery.min.js"></script>
	<script src="http://code.highcharts.com/highcharts.js"></script>
	<script src="http://code.highcharts.com/modules/exporting.js"></script>
	
	<script>
		$(function () {

			$('#container').highcharts( {
				chart:{
					type:'line' //รูปแบบของกราฟ
				},
				title: {
					text: 'กราฟเเสดงข้อมูลรายรับ'  //หัวข้อกราฟ
				},
				subtitle : {
					text: 'บ้านพักสุดเเสงเทียน'
				},
				xAxis: {
					categories: ['<?= implode("','",$month); //นำตัวแปรarray เเกน x?>']
				},
				yAxis: {
					title: {
						text: 'ค่าเช่า/เดือน' //หัวข้อกราฟเเนวตั้ง
					}
				},

				tooltip:{
					headerFormat: '<span style="font-size:1opx;">{point.key}</span><table>',
					pointFormat: '<tr><td style="color:{series.color};padding:0">{series.name}: </td>' + '<td style="padding:0"><b>{point.y:.1f} mm</b></td></tr>',
					footerFormat:'</table>',
					shared: true,
					useHTML: true
				},
				legend:{
					layout: 'vertical',
					align: 'right',
					verticalAlign: 'top',
					x: -30,
					y: 100,
					borderWidth: 0
				},
				plotOptions:{
					column:{
						pointPadding: 0.2,
						borderWidth: 0
					}
				},
				series:[
				{name: 'ค่าเช่า',
						data: [<?= implode(',',$totalprice) //ข้อมูลarrayเเกนY ?>]}
				]
			});
		});

	</script>
</head>
<body>
test test

	<div id="container" style="min-width: 150px; height: 400px; margin: 5 auto ">
</div>

</body>
</html>




Tag : PHP







Move To Hilight (Stock) 
Send To Friend.Bookmark.
Date : 2016-12-07 09:28:01 By : siwatboss View : 1420 Reply : 5
 

 

No. 1



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

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

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


Code (PHP)
<?php //ยายามเขียนให้ถูกหลักจะได้ชิน
include 'connect.php';
$month = array(); //ตัวแปรเเกน x
$totalprice = array(); //ตัวแปรเเกน y
$sql = "SELECT month,totalprice FROM test ";
$result = mysql_query($sql) or die("error query".$sql);
while($row=mysql_fetch_array($result) ){
	array_push($month,$row[month]);
	array_push($totalprice,$row[totalprice]);
}
?>


<?= พยายามเขียนให้ถูกหลักจะได้ชิน <?php

ลองดูตาราง และ ฟิวด์ในตาราง ว่าถูกหรือป่าว






แสดงความคิดเห็นโดยอ้างถึง ความคิดเห็นนี้
Date : 2016-12-07 11:47:06 By : คนมีเสน่ห์
 


 

No. 2



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



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


ตอบความคิดเห็นที่ : 1 เขียนโดย : คนมีเสน่ห์ เมื่อวันที่ 2016-12-07 11:47:06
รายละเอียดของการตอบ ::
ลองทำดูใหม่ได้เเล้วครับ
อันนี้ทีไ่ด้ครับ
กราฟ
Code (PHP)
<?
include 'connect.php';
$sql_m="SELECT a.mon_th,a.Valyear, a.Sales, b.Expense
FROM (
SELECT MONTH( Payment_Date ) AS mon_th, YEAR( Payment_Date ) AS Valyear ,SUM( Price ) AS Sales
FROM tbtestgarp
WHERE Payment_Type =  '1'
GROUP BY MONTH( Payment_Date ) , YEAR( Payment_Date ) 
ORDER BY MONTH( Payment_Date ) , YEAR( Payment_Date ) ASC
)a
LEFT JOIN (
SELECT MONTH( Payment_Date ) AS mon_th,YEAR( Payment_Date ) AS Valyear , SUM( Price ) AS Expense
FROM tbtestgarp
WHERE Payment_Type =  '2'
GROUP BY MONTH( Payment_Date ) , YEAR( Payment_Date ) 
ORDER BY MONTH( Payment_Date ) , YEAR( Payment_Date ) 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>


เเต่มีปัญหาคือ อยากให้เเสดงเฉพาะเดือนนั้นๆอ่ะครับแบบจะเอามารวมกับฟอร์มนึงให้มันทำงานแบบเลือกเดือนเเล้วจะโชว์ข้อมูล จาก ฐานข้อมูล มาเฉพาะเดือน ซึ่งทำได้เเล้ว เเต่อยากให้มีกราฟประกอบด้วยอ่ะครับ

อันนี้โค้ดฟอร์มสำหรับเเสดงข้อมูลตามเดือนครับ
Code (PHP)
<!DOCTYPE html>
<html>
<head>
	<meta charset="utf-8">
	<title>::ข้อมูลรายรับ-จ่าย::</title>
   <script type="text/javascript" src="https://www.google.com/jsapi"></script>
	<script type="text/javascript" src="fusioncharts-suite-xt/js/fusioncharts.js"></script>
	<script type="text/javascript" src="fusioncharts-suite-xt/js/themes/fusioncharts.theme.fint.js"></script>
</head>
<body>
<br>
<?
 include'function.php';
?>
<hr>
<div align="center">ค่าใช้จ่ายหอพักรายเดือน</div>
<hr>
<?
$monthai[1] = "มกราคม";$monthai[2] = "กุมภาพันธ์";$monthai[3] = "มีนาคม";$monthai[4] = "เมษายน";$monthai[5] = "พฤษภาคม";$monthai[6] = "มิถุนายน";$monthai[7] = "กรกฎาคม";$monthai[8] = "สิงหาคม";$monthai[9] = "กันยายน";$monthai[10] = "ตุลาคม";$monthai[11] = "พฤศจิกายน";$monthai[12] = "ธันวาคม";
?>
<br>
<div align="center">
<form name="frmSearch" method="get" action="<?php echo $_SERVER['SCRIPT_NAME'];?>">
  <table width="599" border="1">
    <tr>
      <th>รายเดือน
      <select name="txtKeyword" value="<?php echo $_GET["txtKeyword"];?>">
      	<option value="">เลือกเดือน</option>
            <option value="01">มกราคม</option>
            <option value="02">กุมภาพันธ์</option>
            <option value="03">มีนาคม</option>
            <option value="04">เมษายน</option>
            <option value="05">พฤษภาคม</option>
            <option value="06">มิถุนายน</option>
            <option value="07">กรกฎาคม</option>
            <option value="08">สิงหาคม</option>
            <option value="09">กันยายน</option>
            <option value="10">ตุลาคม</option>
            <option value="11">พฤศจิกายน</option>
            <option value="12">ธันวาคม</option>	
      </select>   
      <input type="submit" value="ค้นหา"></th>
    </tr>
  </table>
</form>
<br>
<br>
ข้อมูลค่าใช้จ่ายประจำเดือน <?=$monthai[$_GET["txtKeyword"]];?>

<?php
if($_GET["txtKeyword"])
	{
    
	include 'connect.php';
	$month = $_GET["txtKeyword"];
	// Search By Name or Email
	$strSQL = "SELECT * FROM tbtestgarp WHERE month(Payment_Date) = '$month' ";
	$objQuery = mysql_query($strSQL) or die ("Error Query [".$strSQL."]");
	?>
	<table style="width:600px;" >
	  <tr>
		<th width="91"> <div align="center">ห้อง </div></th>
		<th width="98"> <div align="center">วันที่ทำรายการ</div></th>
    <th width="98"> <div align="center">รายละเอียด</div></th>
     <th width="98"> <div align="center">จำนวนเงิน</div></th>
     <th width="98"> <div align="center">ประเภท</div></th>
	  </tr>
	<?php
	while($objResult = mysql_fetch_array($objQuery))
	{
	?>
  <?
  $type = $objResult["Payment_Type"];
  if ($type == '1') {
    $typeshow = 'รายรับ';
  }else{
     $typeshow = 'รายจ่าย';
  }
  ?>
	  <tr>
		<td align="center"><?php echo $objResult["Payment_ID"];?></td>
		<td align="center"><?php echo $objResult["Payment_Date"];?></td>
    <td align="center"><?php echo $objResult["Payment_Detail"];?></td>
    <td align="center"><?php echo $objResult["Price"];?></td>
    <td align="center"><?php echo $typeshow;?></td>
	  </tr>
	<?php
	}
	?>
	</table>
	<?php
	mysql_close($objConnect);
}
?>
</div>

</body>
</html>


อันนี้ดาต้าเบสครับ
dbกราฟ
พอจะมีวิธีใหมครับ

แสดงความคิดเห็นโดยอ้างถึง ความคิดเห็นนี้
Date : 2016-12-07 21:16:57 By : siwatboss
 

 

No. 3



โพสกระทู้ ( 5,105 )
บทความ ( 4 )

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

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


select * form table where Payment_Date like '%2016-12%' ;
แสดงความคิดเห็นโดยอ้างถึง ความคิดเห็นนี้
Date : 2016-12-08 08:35:16 By : apisitp
 


 

No. 4



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



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


ตอบความคิดเห็นที่ : 3 เขียนโดย : apisitp เมื่อวันที่ 2016-12-08 08:35:16
รายละเอียดของการตอบ ::
อยากได้แบบนี้อ่ะครับ
sadasd

แสดงความคิดเห็นโดยอ้างถึง ความคิดเห็นนี้
Date : 2016-12-08 13:58:35 By : siwatboss
 


 

No. 5



โพสกระทู้ ( 5,105 )
บทความ ( 4 )

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

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


พัฒนาต่อยอดต่อสิครับ จะง่ายตรง ก็ใช้ substr ตัดให้มันเหลือค่า 7 หลักหน้า
แสดงความคิดเห็นโดยอ้างถึง ความคิดเห็นนี้
Date : 2016-12-08 14:49:50 By : apisitp
 

   

ค้นหาข้อมูล


   
 

แสดงความคิดเห็น
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 01
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 อัตราราคา คลิกที่นี่