Гость | vik url://forum.message:2114 Не отрисовывается график в пхп! HEEEEELLLLPPPP! vik Привет всем! Помогите пожалуйста! у меня такая проблема - вывожу график, значения для Y - беру из базы, а по Х - просто 1,2,3... Сам график рисую линиями. пишу так:
<?php $imMAXy=0; $imMINy=100000000; $ArrData = array(); while ($row=mssql_fetch_array($ldatMYgr)) { array_push($ArrData, $row["mv_al"]); if (($row["mv_al"])>$imMAXy){ $imMAXy=$row["mv_al"];}; if (($row["mv_al"])<$imMINy){ $imMINy=$row["mv_al"];}; }; $imMAXx=$numRows; //************************************** header ("Content-type: image/png"); $im = imagecreatetruecolor(700, 600); $w = imagecolorallocate($im, 255, 255, 255); $c1= imagecolorAllocate($im,0,0,255); $c2=imagecolorAllocate($im,0,255,0); imageFilledrectangle($im,0,0,imagesx($im),imageSY($im),$w); $style=array($c2,$c2,$c2,$c2,$c2,$c2,$c2,$c2,$c2,$c1,$c1,$c1,$c1); imagesetstyle($im,$style); imagesetthickness($im,2); imageLine($im,0,0,0,imagesy($im)-10,img_color_styled); imageLine($im,0,imagesy($im)-10,imagesx($im)-10,imagesy($im)-10,img_color_styled);
$imXK=0; $imYK=0; for ($i=0; $i<=(count($ArrData)-1); $i++) { $imXN=$imXK; $imYN=$imYK; $imXK=$imXN+50;
$imminus=$imMAXy-$imMINy; if ($imminus==0){$imminus=1;}else{$imminus=$imMAXy-$imMINy;};
$imYK=ceil(($ArrData[$i]-$imMINy)/($imMAXy-$imMINy));
imageline($im,$imXN,$imYN,$imXK,$imYK,img_color_styled);
imagepng($im); imagedestroy($im); ?>
проблема заключается в том что график выводится как прямая горизонтальная линия или как несколько отрезков :( ничего не пойму вообще! p.s. значения, получаемые из запроса - считает нормально, и если вывести эти значения на печать, потом скопировать и ввести их вручную - строится нормальная ломанная линия. в чем может быть причина? подскажите плииииииз!!!!!!!!!! Это сообщение было отредактировано гостем, оставившим это сообщение 22.08.07 14:36. |