php - Charts created with pchart gives time out -
im new pchart , i'm getting problems (probably missed) on creating chart mysql table. want chart 1 row depending item select. worked 1 time, every time seek run script again, apache (i'm using apache2) gives timeout , checking server using "top", process apache uses 100% cpu usage. times chart created times remain using 100% cpu usage , nothing. if utilize "autooutput" method create .png images ath end error says image can not displayed because contains errors using "render" chart created i'm explaining,. next code, hope can give lite .
<?php /* pchart library inclusions */ include("../../library/class/pdata.class.php"); include("../../library/class/pdraw.class.php"); include("../../library/class/pimage.class.php"); include "../../connection.php"; // values list.php $selected=$_post['selection']; $mydata = new pdata(); /* query chart */ $requete = "select * table sector = '$selected' limit 0 , 30"; $result = mysql_query($requete,$db)or die(mysql_error()); while($row = mysql_fetch_array($result)) { $sector = $row["sector"]; $current_reading = $row["current_reading"]; $old_reading = $row['old_reading']; $month_consumption = $row['month_consumption']; $current_reading = $row['current_reading']; $dm = $row['dm']; $fp = $row['fp']; $cost = $row['cost_kwh_$90.0000']; $mydata->addpoints($current_reading,'current_reading'); $mydata->addpoints($old_reading,'old_reading'); $mydata->addpoints($month_consumption,'month_consumption'); $mydata->addpoints($dm,'dm'); $mydata->addpoints($fp,'fp'); $mydata->addpoints($cost,'cost_kwh_$90.0000'); } /* save info in pdata array */ $mydata->setabscissa("consumos_de"); $mydata->setabscissaname('february 2014'); $mydata->setseriedescription($sector,"sectores"); $mydata->setaxisname(0,"kw"); /* create pchart object */ $mypicture = new pimage(800,230,$mydata); $mypicture->drawgradientarea(0,0,800,230,direction_vertical,array("startr"=>240,"startg"=>240,"startb"=>240,"endr"=>180,"endg"=>180,"endb"=>180,"alpha"=>100)); $mypicture->drawgradientarea(0,0,800,230,direction_horizontal,array("startr"=>240,"startg"=>240,"startb"=>240,"endr"=>180,"endg"=>180,"endb"=>180,"alpha"=>20)); $mypicture->setfontproperties(array("fontname"=>"../../library/fonts/verdana.ttf","fontsize"=>8)); /* draw scale */ $mypicture->setgrapharea(50,30,780,200); $mypicture->drawscale(array("cyclebackground"=>true,"drawsubticks"=>true,"gridr"=>0,"gridg"=>0,"gridb"=>0,"gridalpha"=>10)); /* turn on shadow computing */ $mypicture->setshadow(true,array("x"=>1,"y"=>1,"r"=>0,"g"=>0,"b"=>0,"alpha"=>10)); /* draw chart */ $settings = array("gradient"=>true,"displaypos"=>label_pos_inside,"displayvalues"=>true,"displayr"=>255,"displayg"=>255,"displayb"=>255,"displayshadow"=>true,"surrounding"=>10); $mypicture->drawbarchart($settings); /* write chart legend */ $mypicture->drawlegend(680,12,array("style"=>legend_border,"mode"=>legend_vertical)); /* render image (choose best way) */ $mypicture->render("/var/www/images/yourgraph.png"); ?>
well, worked doing :
i moved out of while loop next :
$mydata->addpoints($current_reading,'current_reading'); $mydata->addpoints($old_reading,'old_reading'); $mydata->addpoints($month_consumption,'month_consumption'); $mydata->addpoints($dm,'dm'); $mydata->addpoints($fp,'fp'); $mydata->addpoints($cost,'cost_kwh_$90.0000'); and @ end changed
$mypicture->render("/var/www/images/yourgraph.png"); and added instead :
$mypicture->autooutput("yourchart.png"); i had sort little bit more info trying chart problem causing 100% cpu usage solved , chart appeared. first steps in php , i'm sorry mess here. hope helpful someone.
php mysql pchart
No comments:
Post a Comment