อยากทราบการเขียนกราฟแสดงข้อมูลย้อนหลังจากดาต้าเบสที่สามารถเลือกวันที่ได้คับ
ขอบคุณคับ
อยากได้โค๊ดที่ดึงข้อมูลออกจากดาต้าเบสมาแสดงเป็นตารางในรูปแบบข้อมูลย้อนหลังคับ ในลักษณะยึดเวลาเป็น
ตัวหลักในการเหลือวันเวลามาแสดง แล้วให้มันแสดงค่าออกมาให้20แถว คับ
Date :
2011-01-10 17:00:19
By :
nu007
กำลังฝึกเขียนอยู่ครับ เลือก ปี ได้แล้ว กำลังเขียนให้แสดง ตาม เดือน และ ปี ที่เราเลือกครับ
[email protected]
Date :
2011-01-12 21:56:02
By :
thanapat
ใครทำได้ช่วยหน่อยนะคับ ขอบคุณล่วงหน้าคับ
Date :
2011-01-12 22:43:37
By :
nu007
ลองดูครับ
//รับค่าข้อมูล
<Form action="bar.php" method=post name=a target="mainFrame">กราฟฝนรายเดือน
<SELECT NAME="ryear">
<OPTION VALUE=""> Graph</OPTION>
<?
// +++++ กรณีในฐานข้อมูลเก็บปี เป็น ค.ศ. ใช้ อันนี้
// +++++ for ($i=2004;$i<=2010;$i++) {
// ++++ $y=$i+543;
// +++++++++++ กำหนดปี พ.ศ. เอง++++++++++++++++++++
for ($i=2541;$i<=2554;$i++) {
$y=$i;
echo "<OPTION VALUE='$i' selected='2553'>$y</OPTION>";
}
?>
</SELECT><INPUT TYPE="submit" VALUE="ok">
<br /> <a href="barintex.php" target="mainFrame">รายปี</a>
</Form>
//
// ไฟล์ bar.php
<?php // content="text/plain; charset=utf-8"
require("../config.inc.php");
require_once ('../../jpgraph/src/jpgraph.php');
require_once ('../../jpgraph/src/jpgraph_bar.php');
// Some data
//$datay=array(3,7,19,11,4,20);
// +++++++++ use database ++++++++++++++++++++++++++++++++
// +++++++++ create by tammer ++++++++++++++++++++++++++++++++
$link = mysql_connect($dbhost,$dbuser,$dbpass);
mysql_select_db($dbnamemain1,$link);
$sql="select jan_,feb_,mar_,apr_,may_,jun_,jul_,aug_,sep_,oct_,nov_,dec_ from p_annual where DATE_='$ryear'";
$res = mysql_query($sql,$link);
while ($datay=mysql_fetch_row($res))
{
// Create a bar pot
$bplot = new BarPlot($datay);
$bplot->SetFillColor('darkblue');
$bplot->SetColor('darkblue');
$bplot->SetWidth(0.5);
$bplot->SetShadow('darkgray');
}
// +++++++++++++++ End of database ++++++++++++++++++++++++++
//
// Create the graph and setup the basic parameters
$graph = new Graph(450,500,'auto');
$graph->img->SetMargin(40,30,40,40);
$graph->SetScale("textint");
$graph->SetFrame(true,'blue',1);
$graph->SetColor('lightblue');
$graph->SetMarginColor('lightblue');
// Add some grace to the top so that the scale doesn't
// end exactly at the max value.
//$graph->yaxis->scale->SetGrace(20);
// Setup X-axis labels
$a = $gDateLocale->GetShortMonth(); // เดือนเป็น ภาษาอังกฤษ แบบย่อ
$graph->xaxis->SetTickLabels($a);
$graph->xaxis->SetFont(FF_FONT1);
$graph->xaxis->SetColor('darkblue','black');
// Stup "hidden" y-axis by given it the same color
// as the background
$graph->yaxis->SetColor('lightblue','darkblue');
$graph->ygrid->SetColor('white');
// Setup graph title ands fonts
//$graph->title->Set('ปริมาณฝนสถานีอ่างเก็บน้ำพุทธอุทยาน Y-scale');
$title=iconv('TIS-620','UTF-8',"Annual Rainfall ");
$graph->title->Set($title);
//$graph->title->Set('ปริมาณฝนสถานีอ่างเก็บน้ำพุทธอุทยาน Y-scale');
//$graph->subtitle->Set('(เดือน พ.ศ. )');
$subtitle=iconv('TIS-620','UTF-8',"Puttha Utthayan Reservoir");
$graph->subtitle->Set($subtitle);
$graph->title->SetFont(FF_FONT2,FS_BOLD);
$graph->yaxis->title->SetFont(FF_FONT1,FS_BOLD);
$graph->xaxis->title->SetFont(FF_FONT1,FS_BOLD);
//$graph->title->SetFont(FF_FONT2,FS_BOLD);
//$graph->title->SetFont(FF_TAHOMA,FS_NORMAL,12);
$graph->subtitle->SetFont(FF_FONT2,FS_BOLD);
//$graph->subtitle->SetFont(FF_TAHOMA,FS_NORMAL,10);
$graph->xaxis->title->Set("Year :".$ryear."\nPower by:Sawasde");
$graph->xaxis->title->SetFont(FF_FONT2,FS_BOLD);
// Create a bar pot
/*
$bplot = new BarPlot($datay);
$bplot->SetFillColor('darkblue');
$bplot->SetColor('darkblue');
$bplot->SetWidth(0.5);
$bplot->SetShadow('darkgray');
*/
// Setup the values that are displayed on top of each bar
$bplot->value->Show();
// Must use TTF fonts if we want text at an arbitrary angle
//$bplot->value->SetFont(FF_ARIAL,FS_NORMAL,8);
//$bplot->value->SetFont(FF_TAHOMA,FS_NORMAL,8);
$bplot->value->SetFormat('%d'); // '$%d'
// Black color for positive values and darkred for negative values
$bplot->value->SetColor("black","darkred");
$graph->Add($bplot);
// Finally stroke the graph
$graph->Stroke();
?>
// ผมดึงข้อมูลมาจากฐานข้อมูลครับ
//thanapat
Date :
2011-01-17 21:57:48
By :
thanapat
// ฐานข้อมูล
DATE_ เก็บค่า int (เก็บค่าปี พ.ศ. เช่น 2553, 2554 เป็นต้น)
jan_ เก็บค่า double
feb_ เก็บค่า double
.. dec_ เก็บค่า double
ลองดูนะครับ
// thanapat
Date :
2011-01-17 22:04:12
By :
thanapat
ขอบคุณครับ
Date :
2011-01-17 22:27:21
By :
nu007
Load balance : Server 01