2nd file
<?php
header ("Content-type: image/gif");
require_once('db/connect.php');
if ( isset($_GET['dma_id']) ){
if ( trim($_GET['dma_id']) != "" )
$dma_id = $_GET['dma_id'];
}else
exit('ERROR OCCURRED! dma_id not provided: Code error SX23SD4ZM');
if ( isset($_GET['co_datetime']) ){
if ( trim($_GET['co_datetime']) != "" )
$co_datetime = $_GET['co_datetime'];
$co_datetime2 = $_GET['co_datetime'];
}else
exit('ERROR OCCURRED! co_date not provided: Code error SX23SD4ZM');
// Setup Basic Variables
$colors = array("1|0|0","0|0.8|0","0|0|1","1|0|0");
$labels = array();
$max_ygraph = 0;
$dat = array();
$i = 0;
$table = "f".substr($co_datetime,0,4).substr($co_datetime,5,2); // get table name from querystring
// Query Database for daily data
$SQL="SELECT max(flow_rate) FROM $table where (DATE(CO_DATETIME) = '$co_datetime') and (DATE(CO_DATETIME) = '$co_datetime2') and (DMA_ID = '$dma_id')";
$rs = mysql_query($SQL);
$row = mysql_fetch_array($rs,MYSQL_NUM);
$value=abs($row[0]);
$SQL="SELECT min(flow_rate) FROM $table where (DATE(CO_DATETIME) = '$co_datetime') and (DATE(CO_DATETIME) = '$co_datetime2') and (DMA_ID = '$dma_id')";
$rs = mysql_query($SQL);
$row = mysql_fetch_array($rs,MYSQL_NUM);
$value2=abs($row[0]);
//
if ($value >= $value2){ $max_ygraph=$value;}
if ($value < $value2){ $max_ygraph=$value2;}
$SQL="SELECT * FROM $table where (DATE(CO_DATETIME) = '$co_datetime') and (DATE(CO_DATETIME) = '$co_datetime2') and (DMA_ID = '$dma_id')";
$rs = mysql_query($SQL);
while($row = mysql_fetch_array($rs,MYSQL_ASSOC)){
// Compute current minute value for the data
$th = intval(date("H",strtotime($row["CO_DATETIME"])));
$tm = intval(date("i",strtotime($row["CO_DATETIME"])));
$cm = ($th * 60) + $tm;
// Fetch Data
$dat[0][$cm] = $row["FLOW_RATE"];
if ($row["PRESSURE"] <= 0){ $dat[1][$cm] = 0;}
else{ $dat[1][$cm] = $row["PRESSURE"];}
// Get Maximum Y-Value
$max_ygraph = $row["FLOW_RATE"];
//}
}
$mod_y = 0;
// Adjust Flow Rate maximum value
//if (($max_ygraph < -1) && ($max_ygraph >= -5)) $mod_y = 5;
if (($max_ygraph < 0) && ($max_ygraph >= -10)) $mod_y = 10;
if (($max_ygraph < -10) && ($max_ygraph >= -50)) $mod_y = 50;
if (($max_ygraph < -50) && ($max_ygraph >= -100)) $mod_y = 100;
if (($max_ygraph < -100) && ($max_ygraph >= -500)) $mod_y = 500;
if (($max_ygraph < -500) && ($max_ygraph >= -1000)) $mod_y = 1000;
if (($max_ygraph < -1000) && ($max_ygraph >= -5000)) $mod_y = 5000;
if (($max_ygraph < -5000) && ($max_ygraph >= -10000)) $mod_y = 10000;
//if (($max_ygraph < -1) && ($max_ygraph >= -1000)) $mod_y = 1000;
//if (($max_ygraph > 1) && ($max_ygraph <= 5)) $mod_y = 5;
if (($max_ygraph > 0) && ($max_ygraph <= 10)) $mod_y = 10;
if (($max_ygraph > 10) && ($max_ygraph <= 50)) $mod_y = 50;
if (($max_ygraph > 50) && ($max_ygraph <= 100)) $mod_y = 100;
if (($max_ygraph > 100) && ($max_ygraph <= 500)) $mod_y = 500;
if (($max_ygraph > 500) && ($max_ygraph <= 1000)) $mod_y = 1000;
if (($max_ygraph > 1000) && ($max_ygraph <= 5000)) $mod_y = 5000;
if (($max_ygraph > 5000) && ($max_ygraph <= 10000)) $mod_y = 10000;
/*
if ($max_ygraph <= 1){
if ($max_ygraph <= 0.01) $max_ygraph = 0.01;
if (($max_ygraph > 0.01) && ($max_ygraph <= 0.02)) $max_ygraph = 0.02;
if (($max_ygraph > 0.02) && ($max_ygraph <= 0.03)) $max_ygraph = 0.03;
if (($max_ygraph > 0.03) && ($max_ygraph <= 0.04)) $max_ygraph = 0.04;
if (($max_ygraph > 0.04) && ($max_ygraph <= 0.05)) $max_ygraph = 0.05;
if (($max_ygraph > 0.05) && ($max_ygraph <= 0.06)) $max_ygraph = 0.06;
if (($max_ygraph > 0.06) && ($max_ygraph <= 0.07)) $max_ygraph = 0.07;
if (($max_ygraph > 0.07) && ($max_ygraph <= 0.08)) $max_ygraph = 0.08;
if (($max_ygraph > 0.08) && ($max_ygraph <= 0.09)) $max_ygraph = 0.09;
if (($max_ygraph > 0.09) && ($max_ygraph <= 0.1)) $max_ygraph = 0.1;
if (($max_ygraph > 0.1) && ($max_ygraph <= 0.2)) $max_ygraph = 0.2;
if (($max_ygraph > 0.2) && ($max_ygraph <= 0.3)) $max_ygraph = 0.3;
if (($max_ygraph > 0.3) && ($max_ygraph <= 0.4)) $max_ygraph = 0.4;
if (($max_ygraph > 0.4) && ($max_ygraph <= 0.5)) $max_ygraph = 0.5;
if (($max_ygraph > 0.5) && ($max_ygraph <= 0.6)) $max_ygraph = 0.6;
if (($max_ygraph > 0.6) && ($max_ygraph <= 0.7)) $max_ygraph = 0.7;
if (($max_ygraph > 0.7) && ($max_ygraph <= 0.8)) $max_ygraph = 0.8;
if (($max_ygraph > 0.8) && ($max_ygraph <= 0.9)) $max_ygraph = 0.9;
if (($max_ygraph > 0.9) && ($max_ygraph <= 0.9)) $max_ygraph = 0.9;
}
*/
else{
$max_ygraph += ($mod_y - ($max_ygraph % $mod_y));
$max_ygraph = intval($max_ygraph);
}
// Adjust Pressure Graph Data
$adjustment = $max_ygraph/10;
foreach ($dat[1] as $item => $curval){
$dat[1][$item] = $curval * $adjustment;
}
$colors = array("0|0|1","1|0|0","0|0|1","1|0|0");
linegraph($dat,$labels,$colors,1024,780,100,100,$max_ygraph,10,1,1,1,1,1,0,0,0,0,0);
function linegraph($dataArr,$labelArr,$colorArr,$width,$height,$x_pad,$y_pad,$y_max,$y_count,$l_size,$x_grid,$y_grid,$x_label,$y_label,$v_label,$x_zero){
// Graph Variables
$x_count = 1440;
$x_axis = $width - ($x_pad * 2);
$y_axis = 780-($height - ($y_pad * 2));
$x_scale = $x_axis / $x_count;
$y_scale = $y_axis / $y_count;
$y_point = $y_axis / $y_max;
// Font Size Adjustment
$f_width = 0;
$f_height = 0;
switch ($l_size){
case 0:
case 1:
$f_width = 4;
$f_height = 8;
break;
case 2:
$f_width = 5;
$f_height = 12;
break;
case 3:
$f_width = 6;
$f_height = 12;
break;
case 4:
$f_width = 7;
$f_height = 15;
break;
}
$im = imagecreate ($width, $height);
$background_color = imagecolorallocate ($im, 255, 255, 255);
$text_color = imagecolorallocate ($im, 0, 0, 91);
$grid_color = imagecolorallocate ($im, 192, 192, 192);
$scale_color = imagecolorallocate ($im, 100, 100, 100);
$i = 0;
$x1 = 0;
$y1 = 0;
$i = 0;
$j = 0;
// draw x-grid
for ($i=0; $i<=$x_count; $i+=60){
if ($i == 1) $x1 = $x_pad;
elseif ($i==$x_count){
$x1 = ($i * $x_scale) + $x_pad;
if ($x_grid == 1) imageline ($im,$x1,500,$x1,$y_axis +$y_pad,$grid_color);
}
else{
$x1 = ($i * $x_scale) + $x_pad;
if ($x_grid == 1) imageline ($im,$x1,500,$x1,$y_axis + $y_pad,$grid_color);
imageline ($im,$x1,$y_axis + $y_pad-2,$x1,$y_axis + $y_pad+2,$text_color);
}
if (($i % 60) == 0){
if ($j==24) $j=0;
imageline ($im,$x1,$y_pad,$x1,$y_axis + $y_pad,$grid_color);
imagestring($im,$l_size,$x1-((strlen(trim("$j:00")) * $f_width)/2),$y_axis + $y_pad+3,"$j:00",$text_color);
$j++;
}
}
$j =10; //~~pressure
// draw y-grid
for ($i=0; $i<21; $i++){
if ($i == 0) $y1 = $y_pad;
else $y1 = ($i * $y_scale) + $y_pad;
if ($y_grid == 1) imageline ($im,$x_pad,$y1,$x_axis+$x_pad,$y1,$grid_color);
imageline ($im,$x_pad-2,$y1,$x_pad+2,$y1,$text_color);
imagestring ($im,$l_size,$x_pad-(10 + (strlen($y_max - ($i * ($y_max/$y_count))) * $f_width)),$y1-($f_height/2),($y_max - ($i * ($y_max/$y_count))),$text_color);
imagestring ($im,$l_size,$x_pad + $x_axis + 5,$y1-($f_height/2),$j,$text_color);
$j--;
}
// y-1 axis
//imagestring ($im,$l_size,$x_pad-(10 + (strlen($y_max - ($i * ($y_max/$y_count))) * $f_width)),$y1-($f_height/2),($y_max - ($i * ($y_max/$y_count))),$text_color);
// draw axis
imageline ($im,$x_pad,$y_axis + $y_pad,$x_axis + $x_pad,$y_axis + $y_pad,$text_color);
$x1 = 0;
$y1 = 0;
$i = 0;
// draw graph
foreach ($dataArr as $currArr){
$color = explode("|",$colorArr[$i]);
$graph_color = ImageColorAllocate ($im, ($color[0] * 255), ($color[1] * 255), ($color[2] * 255));
for($j=0;$j<$x_count; $j++){
if (isset($currArr[$j])){
if ($y1 == 0){
if ($x_zero !=0){
$x1 = $x_pad;
$y1 = ($y_axis + $y_pad) - ($currArr[$j] * $y_point);
$x2 = $x_scale + $x_pad;
$y2 = ($y_axis + $y_pad) - ($currArr[$j] * $y_point);
imageline ($im,$x1,$y1,$x2,$y2,$graph_color);
}
$x1 = ($x_scale * $j) + $x_pad;
$y1 = ($y_axis + $y_pad) - ($currArr[$j] * $y_point);
}
else{
$x2 = ($x_scale * $j) + $x_pad;
$y2 = ($y_axis+$y_pad) - ($currArr[$j] * $y_point);
imageline ($im,$x1,$y1,$x2,$y2,$graph_color);
$x1 = $x2;
$y1 = $y2;
}
}
}
$x1 = 0;
$y1 = 0;
$i++;
}
$x1 = 0;
$y1 = 0;
imagegif ($im);
imagedestroy($im);
}
?>