I wrote this a long time ago. To be honest it isn't very good code and I think I got the ideas from someone else.
Regardless it should give you an idea.
You basically pass in an array of dollar amounts and it outputs a bar graph.
You can also manually adjust the scale of the graph by varying the values $minval and $maxval.
The function "bar" makes a single bar of the graph.
Use it at your own risk though. It is pretty poor PHP but it did the trick for me!
------------------------------------------------------------------------
//graph looks best when values are between 50 and 250
function bargraph ($bararray, $xminval, $xmaxval){function bar($height,$val, $minval, $maxval){
$n_bars=count($bararray);
$newmargin = $maxval - $minval;
$newdifference = $height - $minval;
$newchange = $newdifference / $newmargin;
$newheight = 200 * $newchange + 25;
echo ("<td valign=bottom>" .
"<table bgcolor=#aa2222 height=" . $newheight .
" cellpadding=0 cellspacing=0>");
echo("<tr><td align=center valign=bottom>");
echo ("<font color=#00000 size=-1 >");
echo ("$");
printf("%.2f", $val);
echo ("</font>");
echo ("</td></tr></table></td>");
} $n_bars=count($bararray);
$border=0;
echo("<table bgcolor=#a0a0a0 height=200 width=" .
$n_bars*$width . " border=" . $border . " >");if (!$xminval) $minval= min ($bararray); else $minval = $xminval;
if (!$xmaxval)$maxval= max ($bararray); else $maxval = $xmaxval;
for ($x = 0; $x<count($bararray); $x++){
bar($bararray[$x], $bararray[$x], $minval, $maxval);
} echo("</table>");
}
--------------------------------------------------------------------------- Matt
John W. Holmes wrote:
From: "Craig Hoffman" <[EMAIL PROTECTED]>
I am looking for an open source and simple PHP script that will graph
(bar) a few MySQL fields. Does anyone have any recommendations?
The easiest way is to just have an image that you dynamically vary with width of
<img src="dot.jpg" height="10" width="$width">
Or take a look at JPGraph, which offers a lot of features.
---John Holmes...
