Problème artichow

devmouad Messages postés 27 Date d'inscription samedi 26 janvier 2008 Statut Membre Dernière intervention 6 décembre 2010 - 13 mai 2009 à 19:11
kohntark Messages postés 3705 Date d'inscription lundi 5 juillet 2004 Statut Membre Dernière intervention 27 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[$i]=$t['total'];
   //echo $values[$i].'
';
   $i++;
  
  
   }
  
   //$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

8 réponses

kohntark Messages postés 3705 Date d'inscription lundi 5 juillet 2004 Statut Membre Dernière intervention 27 avril 2012 30
13 mai 2009 à 19:20
Salut,

ce code me donne l'erreur suivante


=>
c'est une erreur ça ???

Kohntark -
0
devmouad Messages postés 27 Date d'inscription samedi 26 janvier 2008 Statut Membre Dernière intervention 6 décembre 2010
14 mai 2009 à 00:08
Salut,

ce code me donne l'erreur suivante


=>
c'est une erreur ça ???
=>
c'est une réponse ça???
[auteur/DEVMOUAD/1285702.aspx devmouad]-
0
kohntark Messages postés 3705 Date d'inscription lundi 5 juillet 2004 Statut Membre Dernière intervention 27 avril 2012 30
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 ??

Kohntark -
0
devmouad Messages postés 27 Date d'inscription samedi 26 janvier 2008 Statut Membre Dernière intervention 6 décembre 2010
14 mai 2009 à 11:42
désolé pour le sous entendu j'ai cru avoir mis le meesage d'erreur

en tous cas au lieu du graph j'ail le message suivant

Artichow error

undefined offset: 0in c:\program Files\EasyPHP
2.0b1\www\s_gestion_comercial\Artichow\php5\BarPlot.class.php on line 253
0

Vous n’avez pas trouvé la réponse que vous recherchez ?

Posez votre question
kohntark Messages postés 3705 Date d'inscription lundi 5 juillet 2004 Statut Membre Dernière intervention 27 avril 2012 30
14 mai 2009 à 16:58
désolé pour le sous entendu j'ai cru avoir mis le meesage d'erreur

=> mieux vaut tard que jamais

Je n'ai pas artichow sous la main. Poste cette ligne 253 et le code qui permet de voir comment sont construit les variables qui s'y trouvent.

Kohntark -
0
devmouad Messages postés 27 Date d'inscription samedi 26 janvier 2008 Statut Membre Dernière intervention 6 décembre 2010
15 mai 2009 à 13:30
ici un bout du code d'artichow qui contient la ligne 253
for($key = 0; $key < $count; $key++) {

$value = $this->datay[$key];

if($value !== NULL) {

$position = awAxis::toPosition(
$this->xAxis,
$this->yAxis,
new awPoint($key, $value)
);
& voici mon appel


<?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[$i]=$t['total'];
//echo $values[$i].'
';
$i++;


}

//$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();

?>
0
kohntark Messages postés 3705 Date d'inscription lundi 5 juillet 2004 Statut Membre Dernière intervention 27 avril 2012 30
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.

Kohntark -
0
kohntark Messages postés 3705 Date d'inscription lundi 5 juillet 2004 Statut Membre Dernière intervention 27 avril 2012 30
15 mai 2009 à 21:17
... ou plus exactement que ce soit un tableau vide.

Kohntark -
0
Rejoignez-nous