Bonjour à tous,

je souhaite créer un graphique (histogramme) à partir des données provenants de ma base de données.

Si je n'inclus pas les valeur de ma BD et que je détermine moi-même des valeurs, cela fonctionne sans problème. Ce n'est qu'une fois que j'intègre les valeurs de ma BD que ça ne marche plus.

Le valeurs qui proviennent de ma BD sont $donnees_valeur['total']. J'ai teste et si je mets $donnees_valeur['total'] dans la première boucle While elles s'affichent normalement (voir commentaires OK et PAS OK). Par contre pour la dernière cela ne fonctionne plus.

Quelqu'un aurait-il une idée d'ùo se trouve mon erreur?

Merci

Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
 
header ("Content-type: image/png");  
// Connexion a la base de donnees
include('../connex.inc.php');
$idcom=connex('XXXX', 'myparam');
 
$sql_categorie=mysql_query("SELECT *
                            FROM t_categorie_cat
                           ") 
                            or die(mysql_error());
$sql_stat=mysql_query("SELECT SUM(dtc_quantite) AS total, dtc_led_categorie
                            FROM v_stat_commande
                            GROUP BY dtc_code_categorie
                           ") 
                            or die(mysql_error());
	$nblignes=mysql_num_rows($sql_categorie);                            
    // Création de l image avec dimensions donnees (largeur/hauteur)
    $largeurImage = 400; 
    $hauteurImage = 400; 
    $im = ImageCreate ($largeurImage, $hauteurImage) 
            or die ("Erreur lors de la création de l'image");
    $couleur_fond = ImageColorAllocate ($im, 230, 230,230);
    $noir = ImageColorAllocate ($im, 0, 0, 0);  
    $vert = ImageColorAllocate ($im, 13, 151, 23);  
    $coul_legendes = ImageColorAllocate ($im, 11, 62, 43);    
    $blanc = ImageColorAllocate ($im, 255, 255, 255); 
 
ImageLine ($im, 30, $hauteurImage-30, $largeurImage-20, $hauteurImage-30, $noir); 
$mois=1;
//Premiere boucle While OK
while ($donnees_stat = mysql_fetch_array($sql_stat))
{
  imagettftext($im,10,90,$mois*40,$hauteurImage-30,$coul_legendes,"arial.ttf",$donnees_stat['total']);
  $mois=$mois+1;
} 	
 
ImageLine ($im, 30, 10, 30, $hauteurImage-30, $noir);
for ($g=0; $g<=100; $g=$g+10)
{
  imagettftext($im,10,0,5,($hauteurImage-25)-($g*3),$coul_legendes,"arial.ttf",$g);  
  ImageLine ($im, 25, ($hauteurImage-30)-($g*3), 30, ($hauteurImage-30)-($g*3), $noir);
}
 
//Seconde boucle While PAS OK
while ($donnees_valeur = mysql_fetch_array($sql_stat) or die(mysql_error()))
{
  ImageFilledRectangle ($im, 40, $donnees_valeur['total'], 60, $hauteurImage-30, $vert);
}
ImagePng ($im);