Codice PHP:
<?
/// INCLUDIAMO IL CONFIG
require('config.php');
/// ESEGUIAMO LA QUERY
$sSQL = "SELECT COUNT( CAMPO) FROM BLABLABLA BLA BLA ...";
$RS = mysql_query($sSQL);
$nRows = mysql_num_rows($RS);
if($nRows > 0) {
/// STARTIAMO UN CICLO
for($j = 0; $j < $nRows; $j++) {
$sRS = mysql_fetch_array($RS);
/// ELIMINIAMO MESE E GIORNO DALLA DATA
$YEA = date("Y", strtotime($sRS['CAMPO_ANNO']));
/// COMPONIAMO L'ARRAY
$values[$YEA] = $sRS['CONTO'];
}
}
/// E ORA PRESO DA PHP.NET CREIAMO IL NOSTRO ORRENDO MA UTILE GRAFICO
$img_width=910;
$img_height=500;
$margins=20;
$graph_width=$img_width - $margins * 2;
$graph_height=$img_height - $margins * 2;
$img=imagecreate($img_width,$img_height);
$bar_width=25;
$total_bars=count($values);
$gap= ($graph_width- $total_bars * $bar_width ) / ($total_bars +1);
$bar_color=imagecolorallocate($img,5,5,5);
$background_color=imagecolorallocate($img,130,130,130);
$border_color=imagecolorallocate($img,255,255,255);
$line_color=imagecolorallocate($img,0,0,0);
imagefilledrectangle($img,1,1,$img_width-2,$img_height-2,$border_color);
imagefilledrectangle($img,$margins,$margins,$img_width-1-$margins,$img_height-1-$margins,$background_color);
$max_value = max($values);
$ratio = $graph_height / $max_value;
$horizontal_lines = 31;
$horizontal_gap = $graph_height / $horizontal_lines;
for($i = 1; $i <= $horizontal_lines; $i++){
$y = $img_height - $margins - $horizontal_gap * $i ;
imageline($img, $margins, $y, $img_width - $margins, $y, $line_color);
$v = intval($horizontal_gap * $i / $ratio);
imagestring($img, 0, 5, $y - 5, $v, $bar_color);
}
for($i = 0; $i < $total_bars; $i++){
list($key, $value) = each($values);
$x1 = $margins + $gap + $i * ($gap + $bar_width);
$x2 = $x1 + $bar_width;
$y1 = $margins + $graph_height - intval($value * $ratio);
$y2 = $img_height - $margins;
imagefilledrectangle($img, $x1, $y1, $x2, $y2, $bar_color);
imagestring($img, 0, $x1 + 3, $y1 - 10, $value, $bar_color);
imagestring($img, 0, $x1 + 3, $img_height - 15, $key, $bar_color);
}
header("Content-type:image/png");
imagepng($img);
?>
ecco creato un grafichino carino per quanto semplice possa essere lo script