$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"); ?>