devmouad
Messages postés27Date d'inscriptionsamedi 26 janvier 2008StatutMembreDernière intervention 6 décembre 2010
-
13 mai 2009 à 19:11
kohntark
Messages postés3705Date d'inscriptionlundi 5 juillet 2004StatutMembreDernière intervention27 avril 2012
-
15 mai 2009 à 21:17
bonjour a tous je veux créer un histogramme
dynamiquement a base de données réquperé de ma base
je procède ainssi
<?php
// On inclue le fichier qui nous permettra de dessiner des histogrammes
require_once "Artichow/BarPlot.class.php";
// Il est toujours nécessaire de donner une taille à la création de votre graphique.
// Ici, le graphique mesurera 400 x 400 pixels.
$graph = new Graph(400, 400);
// L'anti-aliasing permet d'afficher des courbes plus naturelles,
// mais cette option consomme beaucoup de ressources sur le serveur.
$graph->setAntiAliasing(TRUE);
$connection = mysql_connect("localhost", "root", "") or die(mysql_error());
mysql_select_db("sbd_gestion_commerciale") or die(mysql_error());
$k=mysql_query(" SELECT Distinct commande.total FROM detail_cmd , commande where detail_cmd.id_detail_cmd=commande.id_detail_cmd and commande.code_Client in (16,13) and commande.dateCmd between '2009-05-01' and '2009-05-29' ");
// Les valeurs à afficher sur l'histogramme
$values = array();
while($t=mysql_fetch_array($k)){
//$values = array(19, 42, 15, -25, 3);
// On créé l'histogramme
$plot = new BarPlot($values);
// Ajoute une couleur de fond aux barres
$plot->setBarColor(
new Color(250, 230, 180)
);
// On ajoute 5 % d'espace à gauche et à droite de l'histogramme.
// On ne change pas l'espace du haut et du bas de l'histogramme.
$plot->setSpace(
5, /* Gauche */
5, /* Droite */
NULL, /* Haut */
NULL /* Bas */
);
// On choisit une ombre de 3 pixels
$plot->barShadow->setSize(3);
// On place l'ombre sur les côtés haut et droit.
// Si vous utilisez Artichow pour PHP 4 & 5, transformez Shadow::RIGHT_TOP en SHADOW_RIGHT_TOP
$plot->barShadow->setPosition(Shadow::RIGHT_TOP);
// On veut une ombre de couleur grise
$plot->barShadow->setColor(new Color(180, 180, 180, 10));
// On choisit de lisser les extrémités de l'ombre
$plot->barShadow->smooth(TRUE);
$graph->add($plot);
$graph->draw();
?>
ce code me donne l'erreur suivante
enfin je vous remercie juste la lecture de ma question c'est un vrai travil
et j'aimerai avoir une solution a mon problème
kohntark
Messages postés3705Date d'inscriptionlundi 5 juillet 2004StatutMembreDernière intervention27 avril 201230 14 mai 2009 à 06:07
Non, c'est une question (il y a un point d'interrogation) qui attendait comme réponse un peu plus de précision de ta part.
Tu dis avoir l'erreur "" hors ce n'en ai pas une. Tu veux dire que c'est cette chaîne qui s'affiche à la place du graph ??
<?php
// On inclue le fichier qui nous permettra de dessiner des histogrammes
require_once "Artichow/BarPlot.class.php";
// Il est toujours nécessaire de donner une taille à la création de votre graphique.
// Ici, le graphique mesurera 400 x 400 pixels.
$graph = new Graph(400, 400);
// L'anti-aliasing permet d'afficher des courbes plus naturelles,
// mais cette option consomme beaucoup de ressources sur le serveur.
$graph->setAntiAliasing(TRUE);
$connection = mysql_connect("localhost", "root", "") or die(mysql_error());
mysql_select_db("sbd_gestion_commerciale") or die(mysql_error());
$k=mysql_query(" SELECT Distinct commande.total FROM detail_cmd , commande where detail_cmd.id_detail_cmd=commande.id_detail_cmd and commande.code_Client in (16,13) and commande.dateCmd between '2009-05-01' and '2009-05-29' ");
// Les valeurs à afficher sur l'histogramme
$values = array();
while($t=mysql_fetch_array($k)){
//$values = array(19, 42, 15, -25, 3);
// On créé l'histogramme
$plot = new BarPlot($values);
// Ajoute une couleur de fond aux barres
$plot->setBarColor(
new Color(250, 230, 180)
);
// On ajoute 5 % d'espace à gauche et à droite de l'histogramme.
// On ne change pas l'espace du haut et du bas de l'histogramme.
$plot->setSpace(
5, /* Gauche */
5, /* Droite */
NULL, /* Haut */
NULL /* Bas */
);
// On choisit une ombre de 3 pixels
$plot->barShadow->setSize(3);
// On place l'ombre sur les côtés haut et droit.
// Si vous utilisez Artichow pour PHP 4 & 5, transformez Shadow::RIGHT_TOP en SHADOW_RIGHT_TOP
$plot->barShadow->setPosition(Shadow::RIGHT_TOP);
// On veut une ombre de couleur grise
$plot->barShadow->setColor(new Color(180, 180, 180, 10));
// On choisit de lisser les extrémités de l'ombre
$plot->barShadow->smooth(TRUE);
kohntark
Messages postés3705Date d'inscriptionlundi 5 juillet 2004StatutMembreDernière intervention27 avril 201230 15 mai 2009 à 21:16
J'ai regardé rapidement.
ici un bout du code d'artichow qui contient la ligne 253
=> ne serait ce pas plus simple de surligner la ligne en question ?
Comme ça par exemple (j'imagine que c'est celle là) :
$value = $this->datay[$key];
// c'est la ligne 253
En faisant ça tu motives les gens à te répondre, ça évite de chercher, en évitant le risque d'erreur qui peut être grand.
Je te demandais (afin de t'aider) :
"Poste cette ligne 253 et le code qui permet de voir comment sont construit les variables qui s'y trouvent"
Hors je ne vois aucune trace de $this->datay, il n'est donc pas possible de t'aider.
Il y a de grandes chances que cette variable ne soit pas définie ou ne soit pas un tableau.