Forum |  HardWare.fr | News | Articles | PC | S'identifier | S'inscrire | Shop Recherche
1090 connectés 

  FORUM HardWare.fr
  Programmation

  [PHP]Comment on cree des graphiques en PHP ?

 


 Mot :   Pseudo :  
 
Bas de page
Auteur Sujet :

[PHP]Comment on cree des graphiques en PHP ?

n°52456
kayasax
Posté le 13-08-2001 à 08:57:48  profilanswer
 

Pour creer par exemple un histogramme a partir de donnees sql ?


---------------
All we need is a soul revolution
mood
Publicité
Posté le 13-08-2001 à 08:57:48  profilanswer
 

n°52478
stb
Posté le 13-08-2001 à 10:17:09  profilanswer
 

tu fais ta requete, tu la fetch, t'as un compteur incrémental du style count=0;, count++
 
imageRectangle($img_res,$largeur_image/$count,$req
uete_value,$largeur_image/$nb_rangs,0,$color1);
 
un truc ds ce genre...
 
reply si plus de prec.

n°52479
shinji
Posté le 13-08-2001 à 10:20:20  profilanswer
 

Tu peux dessiner en php mais faut  dessiner droite par droite ou figure par figure donc pour un histogramme, les axes, les rectangles qui ont pour hauteur la donnée SQL.
 
Voilà un exemple:
<?
 Header("Content-type: image/png" );
 $x=400; //taille de l'image
 $y=300;
 $data=array (3, 1, 7, 2, 5, 4, 6); //données
 $im = imagecreate($x,$y);  //crée l'image en mémoire
 $black = ImageColorAllocate($im, 0,0,0);  //définit les couleurs
 $blue = ImageColorAllocate($im, 0,36,135);
 $white = ImageColorAllocate($im, 255,255,255);
 ImageFilledRectangle($im,0,0,$x,$y,$white); //remplir l'image en blanc
 
 //dessine les axes
 imageline($im,0,50,$x,50,$black);
 imageline($im,$x-50,0,$x-50,$y,$black);
 //pour chaque donnée tu tableau, dessine un rectangle plein dont la hauteur est la valeur de la donnée du tableau
 for($i=0;$i<sizeof($data);$i++)
 {
         ImageFilledRectangle($im,$i*50+15,51,$i*50+40,51+$data[$i]*30,$blue);
 }
 Imagepng($im);  //envoi l'image en mémoire au navigateur
?>

n°52480
shinji
Posté le 13-08-2001 à 10:20:36  profilanswer
 

Tu peux dessiner en php mais faut  dessiner droite par droite ou figure par figure donc pour un histogramme, les axes, les rectangles qui ont pour hauteur la donnée SQL.
 
Voilà un exemple:
<?
 Header("Content-type: image/png" );
 $x=400; //taille de l'image
 $y=300;
 $data=array (3, 1, 7, 2, 5, 4, 6); //données
 $im = imagecreate($x,$y);  //crée l'image en mémoire
 $black = ImageColorAllocate($im, 0,0,0);  //définit les couleurs
 $blue = ImageColorAllocate($im, 0,36,135);
 $white = ImageColorAllocate($im, 255,255,255);
 ImageFilledRectangle($im,0,0,$x,$y,$white); //remplir l'image en blanc
 
 //dessine les axes
 imageline($im,0,50,$x,50,$black);
 imageline($im,$x-50,0,$x-50,$y,$black);
 //pour chaque donnée tu tableau, dessine un rectangle plein dont la hauteur est la valeur de la donnée du tableau
 for($i=0;$i<sizeof($data);$i++)
 {
         ImageFilledRectangle($im,$i*50+15,51,$i*50+40,51+$data[$i]*30,$blue);
 }
 Imagepng($im);  //envoi l'image en mémoire au navigateur
?>

n°52492
stb
Posté le 13-08-2001 à 10:33:49  profilanswer
 

ma fois c plus complet, mais le povre risque d'en crever :)

n°52496
shinji
Posté le 13-08-2001 à 10:44:24  profilanswer
 

Il peut demander des explications, le forum est là pour ça!
C'est avec cet exemple que j'ai commencé avec la librairie GD :)

n°52499
kayasax
Posté le 13-08-2001 à 10:50:37  profilanswer
 

shinji a écrit a écrit :

Il peut demander des explications, le forum est là pour ça!
C'est avec cet exemple que j'ai commencé avec la librairie GD :)  




Ok merci effectivement la réponse est complete et c'est tant mieux, je vais eplucher ca...


---------------
All we need is a soul revolution
n°52709
kayasax
Posté le 14-08-2001 à 10:15:16  profilanswer
 

shinji a écrit a écrit :

Il peut demander des explications, le forum est là pour ça!
C'est avec cet exemple que j'ai commencé avec la librairie GD :)  




Ok j'ai fait tourner ton script, je ne comprends pas une chose : on a des valeurs positives dans le tableau alors que les valeurs sont tracés sur les axes -x et -y ???
 
Sinon pourrais tu me donner des precisions sur la ligne : ImageFilledRectangle($im,$i*50+15,51,$i*50+40,51+$data[$i]*30,$blue);
a quoi ca sert le *50+15 ? le 51 ?
 
 :jap:  
 :hello:


---------------
All we need is a soul revolution
n°52723
shinji
Posté le 14-08-2001 à 10:45:31  profilanswer
 

Il faut savoir que l'origine d'une image est le coin supérieur gauche de l'écran:
 0                      
0----------------------x
 |
 |  
 |
 |
 |
 y
Maitenant tu devrais mieux comprendre. Sinon le 51 c'est par rapport à son l'axe(0,50)(400,50)(Pour commencer au niveau de l'axe)
Le 15, c'est l'écart entre chaque rectangle, bref maintenant que tu sais où se situe l'origine, dessine le manuellement, tu comprendra mieux!


Aller à :
Ajouter une réponse
  FORUM HardWare.fr
  Programmation

  [PHP]Comment on cree des graphiques en PHP ?

 

Sujets relatifs
Hebergeur gratuit PHP & mySQL ?[PHP]-problème avec fopen
[PHP] decidement ce soar j'ai du mal![PHP][MYSQL] aide pour petite requete...svp
exe ou isapi?? sur PHPPhp ---> question
[PHP / JS] Menus deroulants en cascadesEASY PHP comment changer le mdp du root?
CHERCHE EDITEUR PHP GENRE INTERDEVPHP creer une variable hyperglobale...
Plus de sujets relatifs à : [PHP]Comment on cree des graphiques en PHP ?


Copyright © 1997-2022 Hardware.fr SARL (Signaler un contenu illicite / Données personnelles) / Groupe LDLC / Shop HFR