Graphique statistique
Posté : 12 juin 2014, 19:03
Bonjour tout le monde,
SVP j'ai besoin de votre aide dans mon code de graphique statistique, le navigateur m'affiche une page blanche avec une image au top qui n'est pas affichée :
voila le code que j'utilise :
SVP j'ai besoin de votre aide dans mon code de graphique statistique, le navigateur m'affiche une page blanche avec une image au top qui n'est pas affichée :
voila le code que j'utilise :
<?php
include('connect.inc');
$query=mysql_query('SELECT MONTH(date) AS mois, YEAR(date) AS annee, engin,(SELECT SUM(numero) FROM signalement WHERE nature_sign="incident" AND MONTH(date)=mois AND YEAR(date)=annee)as qtincident FROM signalement GROUP BY mois ORDER BY mois ASC') or die('Erreur SQL !<br>'.$query.'<br>'.mysql_error());
$moisFr=array('Janvier','Février','Mars','Avril','Mai','Juin','Juillet','Août','Septembre','Octobre','Novembre','Decembre');
$resultat=array();
$i=0;
while($row=mysql_fetch_object($query))
{
$resultat[$row->mois]=$row->qtincident;
if($i==0)
{
$min=$row->qtincident;
$max=$row->qtincident;
}
if($row->qtincident < $min)
{
$min=$row->qtincident;
}
else
{
if($row->qtincident > $max)
{
$max=$row->qtincident;
}
}
$i++;
}
header('Content-type: image/png');
$font_file = './arial.ttf';
$largeur=$i*50+90;
$hauteur=400;
$absis=80;
$courbe=imagecreatetruecolor($largeur, $hauteur);
$bleu=imagecolorallocate($courbe, 0, 0, 255);
$ligne=imagecolorallocate($courbe, 220, 220, 220);
$fond=imagecolorallocate($courbe, 250, 250, 250);
$noir=imagecolorallocate($courbe, 0, 0, 0);
$rouge=imagecolorallocate($courbe, 255, 0, 0);
imagefilledrectangle($courbe,0 , 0, $largeur, $hauteur, $fond);
imageline($courbe, 50, $hauteur-$absis, $largeur-10,$hauteur-$absis, $noir);
imageline($courbe, 50,$hauteur-$absis,50,20, $noir);
if($min!=0)
{
$absis+=10;
$a=10;
}
$nbOrdonne=10;
$echelleX=($largeur-100)/$i;
$echelleY=($hauteur-$absis-20)/$nbOrdonne;
$i=$min;
$py=($max-$min)/$nbOrdonne;
$pasY=$absis;
while($pasY<($hauteur-19))
{
imagestring($courbe, 2,10 , $hauteur-$pasY-6, round($i), $noir);
imageline($courbe, 50, $hauteur-$pasY, $largeur-20,$hauteur-$pasY, $ligne);
$pasY+=$echelleY;
$i+=$py;
}
$j=-1;
$pasX=90;
foreach ($resultat as $mois => $numero) {
$y=($hauteur) -(($numero -$min) * ($echelleY/$py))-$absis;
imagefilledellipse($courbe, $pasX, $y, 6, 6, $rouge);
imagefttext($courbe, 10, 315, $pasX, $hauteur-$absis+20, $noir, $font_file, $moisFr[$mois-1]);
imageline($courbe, $pasX, $hauteur-$absis+$a, $pasX,$y, $noir);
if($j!==-1)
{
imageline($courbe,($pasX-$echelleX),$yprev,$pasX,$y,$noir);
}
imagestring($courbe, 2, $pasX-15,$y-14 , $numero, $bleu);
$j=$numero;
$yprev=$y;
$pasX+=$echelleX;
}
imagepng($courbe);
imagedestroy($courbe);
?>