$table=$_GET["table"]; $time=$_GET["time"]; switch ($time) { case "hour": $time=3900; break; case "day": $time=86700; break; case "week": $time=605100; break; case "month": $time=2592300; break; case "year": $time=31536300; break; } function data ($type,$table,$time,$getLast) { $db = mysql_connect("localhost", "userid", "password"); mysql_select_db("system",$db); $sql="SELECT date,".$type." FROM ".$table." WHERE UNIX_TIMESTAMP()-UNIX_TIMESTAMP(date)<".$time." ORDER BY date;"; $result = mysql_query($sql,$db); $dataString=""; while ($myrow = mysql_fetch_array($result)) { $date=str_replace(" "," ",$myrow["date"]); $dataString.=$date." ".($myrow[$type])."\n"; } $dataString.="e\n"; if ($getLast) { $pre=$date."x"; } else { $pre=""; } return ($pre.$dataString); } printf("
\n");
$index=1;
while ($_GET["c".$index]) {
if ($index==1) {
$plot[0]=data($_GET["c1"],$table,$time,true);
} else {
$plot[$index-1]=data($_GET["c".$index],$table,$time,false);
}
$index++;
}
$last=substr($plot[0],0,strpos($plot[0],"x"));
$plot[0]=substr($plot[0],strpos($plot[0],"x")+1);
$first=substr($plot[0],0,strpos($plot[0]," ",15));
printf("set xdata time\n");
printf("set timefmt \"%%Y-%%m-%%d %%H:%%M:%%S\"\n");
printf("set xrange [\"".$first."\":\"".$last."\"]\n");
printf("#set xlabel \"Time\"\n");
printf("set yrange [0:]\n");
printf("#set ylabel \"".ucfirst($table)."\"\n");
printf("set grid y\n");
printf("set key left\n");
printf("set terminal png\n");
printf("set size 0.60,0.35\n");
switch ($time) {
case 3900: ?>
set title "Hour"
set xtics 900
set format x "%H:%M"
set output '=$table;?>_hour.png'
break;
case 86700: ?>
set title "Day"
set xtics 7200
set format x "%H"
set output '=$table;?>_day.png'
break;
case 605100: ?>
set title "Week"
set xtics 86400
set format x "%d"
#set xdtics
set output '=$table;?>_week.png'
break;
case 2592300: ?>
set title "Month"
set xtics 259200
set format x "%d"
set output '=$table;?>_month.png'
break;
case 31536300: ?>
set title "Year"
set xtics 2592000
set format x "%m"
set output '=$table;?>_year.png'
break;
}
#w l t = with lines title
printf("plot \"-\" using 1:3 w l t \"".$_GET["c1"]."\"");
$index=1;
while ($plot[$index]!="") {
print(", \\\n \"-\" using 1:3 w l t \"".$_GET["c".($index+1)]."\"");
$index++;
}
print("\n");
$index=0;
while ($plot[$index]!="") {
printf($plot[$index]);
$index++;
}
printf("\n");
?>