[php] création d'histogrammes

création d'histogrammes [php] - Programmation

Marsh Posté le 31-05-2002 à 11:34:54    

je sait qu on peut faire des graphes (ou plutot des images a la volées )avec du php
en fait j ai deux données:

  • quantité
  • article

j aimerai avoir un histogramme avec la qte en ordonnée et les articles en abssice
vous avez une idée pour que cela se fasse dynamiquement sachant que ces données sont stockées ds une base de donnée..
merci

 

[jfdsdjhfuetppo]--Message édité par veryfree le 31-05-2002 à 11:42:51--[/jfdsdjhfuetppo]

Reply

Marsh Posté le 31-05-2002 à 11:34:54   

Reply

Marsh Posté le 31-05-2002 à 11:49:48    

euh j'avais trouvé un truc sympa en tapant juste "histogramme php" ou un truc dans le genre dans google :)

Reply

Marsh Posté le 31-05-2002 à 11:52:03    

si tu prend un gif "carre" et que tu lui specifie la hauteur en focntion de tes données?


---------------
All we need is a soul revolution
Reply

Marsh Posté le 31-05-2002 à 11:57:29    

je suis dessus
je vous tien au courant merci
 :hello:

Reply

Marsh Posté le 31-05-2002 à 11:59:19    

la methode que j'avais vue, CT avec des cellules de tableau avec differents bgcolor....

Reply

Marsh Posté le 31-05-2002 à 12:02:52    

kayasax a écrit a écrit :

si tu prend un gif "carre" et que tu lui specifie la hauteur en focntion de tes données?  




 
Marche bien ce truc, c'est ce qui est utilisé par phpSysInfo pour faire facilement les barres de pourcentages :  
 
http://forum.hardware.fr/info/


---------------
brisez les rêves des gens, il en restera toujours quelque chose...  -- laissez moi troller sur discu !
Reply

Marsh Posté le 31-05-2002 à 15:49:26    

bon ben jl a developpez moi meme en fin de compte ca ma permis d apprendre comment ca fonctionne les images en php
 
voila le code ca peux servir a d autre ....
<?php
Header("Content-type: image/gif" );
require('../connect.php3';);//contien les variable host ,user ,pass...
 
  $yi=10;
  $ecart=10;
  $largeur=900;
  $miLargeur=$largeur/2;
  $hauteur=600;
  $im = imagecreate($largeur,$hauteur);
  $rouge=imageColorAllocate($im, 0, 300, 100);
  $noir=imageColorAllocate($im, 0, 0, 0);
  $blanc=imageColorAllocate($im, 250, 250, 250);
  $bleu=imageColorAllocate($im, 0, 125, 250);
  $fond=imageColorAllocate($im,240,240,240);
  $gris=imageColorAllocate($im,200,200,200);
  imagefilledrectangle($im,2,2,$largeur-2,$hauteur-2,$fond); //encadrement de l'histogramme
 
      $requete = "select count(quantite) ,f.designation,sum(quantite) as somme from cmdfourniture c, fourniture f where c.ref=f.ref group by f.ref order by somme desc";
      mysql_connect($host,$user,$pass);
      @mysql_select_db($db);
      $result=mysql_query($requete);
      $indice=0;
      while( $row=mysql_fetch_row($result) )
               {
               $tab[$indice]= $row;             //on crée un tableau contenant les données qui servirons a l affichage
               $indice++;
               }
      for($k=0;$k<$indice;$k++)
                 {
                 $yj=$ecart+$yi;
                 imagefilledrectangle($im,10,$yi,$largeur-10,$yj,$gris);
                 imagestring($im,3,10,$yi,$tab[$k][1]."      (".$tab[$k][2]." )",$noir);
                 imagefilledrectangle($im,$miLargeur,$yi,($miLargeur + $tab[$k][2] * 10),$yj,$bleu); //($tab[$k][2]+50)*10
                 $yi+=15;
                 }
  ImagePng($im);
  ImageDestroy($im);
?>

 
 
 
Pour toute questions me demander...

Reply

Marsh Posté le 31-05-2002 à 15:50:46    

ca ressemble a ca:
 
http://very.free.free.fr/forum/histo.png

Reply

Marsh Posté le 31-05-2002 à 15:53:29    

Reply

Marsh Posté le 31-05-2002 à 16:40:05    

JWhy a écrit a écrit :

http://www.aditus.nu/jpgraph/ :??:  




 
 
je savait pas que ca existait moua
 
 
mais c plutot bien fait j y retourne
 
 
merci encore

Reply

Marsh Posté le 31-05-2002 à 16:40:05   

Reply

Marsh Posté le 31-05-2002 à 16:57:17    

j'ai decouvert ca avant-hier ;)
c'est pas mal du tout! :hot:

 

[jfdsdjhfuetppo]--Message édité par JWhy le 31-05-2002 à 16:57:29--[/jfdsdjhfuetppo]


---------------
www.alliancefrancophone.org ... Home is where the heart is
Reply

Sujets relatifs:

Leave a Replay

Make sure you enter the(*)required information where indicate.HTML code is not allowed