
|
Bonjour à tous, J'essaie de dessiner un graphe en PHP à partir de valeurs que je récupère dans une base de données. Seulement j'obtiens bien l'image en faisant un test avec quelques valeurs, mais quand j'effectue ma requête sql pour aller chercher les vraies valeurs, plus rien n'est dessiné. Le code test qui marche :
<?php
$nbre_test[1]=40; // 3 valeurs de test
$nbre_trouv[1]=31;
$nbre_test[2]=24;
$nbre_trouv[2]=10;
$nbre_test[3]=28;
$nbre_trouv[3]=22;
$image=imagecreate(600,400);
$blanc=imageColorAllocate($image,255,255,255);
$noir=imageColorAllocate($image,0,0,0);
$ciel=imageColorAllocate($image,200,200,255);
$orange=imageColorAllocate($image,250,157,0);
$jaune=imageColorAllocate($image,220,232,0);
ImageLine($image,0,201,600,201,$noir); // axe horizontal
ImageLine($image,0,201,0,0,$noir); // axe vertical
ImageLine($image,1,40,600,40,$ciel) ;
ImageLine($image,1,80,600,80,$ciel) ;
ImageLine($image,1,120,600,120,$ciel) ;
ImageLine($image,1,160,600,160,$ciel) ;
for ($i=1;$i<4;$i++) {
$x1 = $i*3+($i-1)*5;
$x2 = $i*3+$i*5;
$y1 = 200 - $nbre_test[$i];
$y2 = 200;
ImageFilledRectangle($image,$x1,$y1,$x2,$y2,$orange);
$y1 = 200 - $nbre_trouv[$i];
ImageFilledRectangle($image,$x1,$y1,$x2,$y2,$jaune);
}
imagePng($image);
imageDestroy($image);
?>
Le code qui ne marche pas  :
<?php
$pseudo='anonymous';
$requete = mysql_query("SELECT nb_kj_test,nb_kj_bon FROM test_stat WHERE pseudo='$pseudo'
ORDER BY date DESC LIMIT 0,3");
$p=1;
while($don = mysql_fetch_row($requete)) {
$nbre_test[$p] = $don[0];
$nbre_trouv[$p] = $don[1];
$p++;
}
$image=imagecreate(600,400);
$blanc=imageColorAllocate($image,255,255,255);
$noir=imageColorAllocate($image,0,0,0);
$ciel=imageColorAllocate($image,200,200,255);
$orange=imageColorAllocate($image,250,157,0);
$jaune=imageColorAllocate($image,220,232,0);
ImageLine($image,0,201,600,201,$noir); // axe horizontal
ImageLine($image,0,201,0,0,$noir); // axe vertical
ImageLine($image,1,40,600,40,$ciel) ;
ImageLine($image,1,80,600,80,$ciel) ;
ImageLine($image,1,120,600,120,$ciel) ;
ImageLine($image,1,160,600,160,$ciel) ;
for ($i=1;$i<4;$i++) {
$x1 = $i*3+($i-1)*5;
$x2 = $i*3+$i*5;
$y1 = 200 - $nbre_test[$i];
$y2 = 200;
ImageFilledRectangle($image,$x1,$y1,$x2,$y2,$orange);
$y1 = 200 - $nbre_trouv[$i];
ImageFilledRectangle($image,$x1,$y1,$x2,$y2,$jaune);
}
imagePng($image);
imageDestroy($image);
?>
A noter que j'ai testé ma requête à part et qu'elle me retourne bien ce que je lui demande... Je ne comprends vraiment d'où peut venir le problème. Merci d'avance pour votre aide. Jekkil. |