Aide pour un graphique

Aide pour un graphique - PHP - Programmation

Marsh Posté le 05-11-2003 à 19:12:26    

Bon depuis tout a l'heure j'essaye de faire un graphique banal representant l'activité des membres du site.
 
Je fait ca en fonction du pourcentage de message.
J'arrive bien a calculé tout les pourcentage qui s'affiche correctement dans le while(), mais une fois que je passe au graph ca ne me dessine que le premier, et je doit bien avoué que je comprend pas pourquoi :??:  
 
Je poste mon code bordelique non optimisé (ben vi c'est des test :))
 

Code :
  1. //on compte tout les msg
  2. $all_msg=mysql_query("select count(pseudo) from news_comment where pseudo!='Guest'" );
  3. $news_com=mysql_result($all_msg, 0);
  4. $all_ms=mysql_query("select count(pseudo) from match_comment where pseudo!='Guest'" );
  5. $war_com=mysql_result($all_ms, 0);
  6. $total_message=$news_com+$war_com;
  7. //on prend tout les users enregistrés
  8. $user=mysql_query("select pseudo from user" );
  9. while ($enum_pseudo=mysql_fetch_row($user))
  10.  {
  11.   //on compte les message des gens qui postent dans les comment news et comment match
  12.   $pseud=$enum_pseudo[0];
  13.   $hop=mysql_query("select count(pseudo) from news_comment where pseudo='$pseud'" );
  14.   $hop2=mysql_query("select count(pseudo) from match_comment where pseudo='$pseud'" );
  15.   $nombre_participation1=mysql_result($hop, 0);
  16.   $nombre_participation2=mysql_result($hop2, 0);
  17.   $nombre_participation=$nombre_participation1+$nombre_participation2;
  18.   //si le gars participe au moins une fois
  19.   if ($nombre_participation>0)
  20.    {
  21.     //on calcul le pourcentage de ses msg
  22.     $pourcentage_msg=($nombre_participation*100)/$total_message;
  23.     //le graph
  24.     header("content-type: image/png" );
  25.     $image=imageCreate(105, 10);
  26.     $fond=imageColorAllocate($image, 200, 200, 200);
  27.     $noir=imageColorAllocate($image,150 , 0, 0);
  28.     imageFilledRectangle($image, 0, 0, $pourcentage_msg, 10 ,$noir);
  29.     imagePNG($image);
  30.     imageDestroy($image);
  31.    }
  32.  }


 
Merci de votre aide :hello:


Message édité par Profil supprimé le 05-11-2003 à 19:15:37
Reply

Marsh Posté le 05-11-2003 à 19:12:26   

Reply

Marsh Posté le 05-11-2003 à 20:18:13    

chacal_one333 a écrit :

Bon depuis tout a l'heure j'essaye de faire un graphique banal representant l'activité des membres du site.
 
Je fait ca en fonction du pourcentage de message.
J'arrive bien a calculé tout les pourcentage qui s'affiche correctement dans le while(), mais une fois que je passe au graph ca ne me dessine que le premier, et je doit bien avoué que je comprend pas pourquoi :??:  
 
Je poste mon code bordelique non optimisé (ben vi c'est des test :))
 

Code :
  1. //on compte tout les msg
  2. $all_msg=mysql_query("select count(pseudo) from news_comment where pseudo!='Guest'" );
  3. $news_com=mysql_result($all_msg, 0);
  4. $all_ms=mysql_query("select count(pseudo) from match_comment where pseudo!='Guest'" );
  5. $war_com=mysql_result($all_ms, 0);
  6. $total_message=$news_com+$war_com;
  7. //on prend tout les users enregistrés
  8. $user=mysql_query("select pseudo from user" );
  9. while ($enum_pseudo=mysql_fetch_row($user))
  10.  {
  11.   //on compte les message des gens qui postent dans les comment news et comment match
  12.   $pseud=$enum_pseudo[0];
  13.   $hop=mysql_query("select count(pseudo) from news_comment where pseudo='$pseud'" );
  14.   $hop2=mysql_query("select count(pseudo) from match_comment where pseudo='$pseud'" );
  15.   $nombre_participation1=mysql_result($hop, 0);
  16.   $nombre_participation2=mysql_result($hop2, 0);
  17.   $nombre_participation=$nombre_participation1+$nombre_participation2;
  18.   //si le gars participe au moins une fois
  19.   if ($nombre_participation>0)
  20.    {
  21.     //on calcul le pourcentage de ses msg
  22.     $pourcentage_msg=($nombre_participation*100)/$total_message;
  23.     //le graph
  24.     header("content-type: image/png" );
  25.     $image=imageCreate(105, 10);
  26.     $fond=imageColorAllocate($image, 200, 200, 200);
  27.     $noir=imageColorAllocate($image,150 , 0, 0);
  28.     imageFilledRectangle($image, 0, 0, $pourcentage_msg, 10 ,$noir);
  29.     imagePNG($image);
  30.     imageDestroy($image);
  31.    }
  32.  }


 
Merci de votre aide :hello:


 
Ben tes barres, il faut les décaler l'une après l'autre non ? Où est l'incrémentation de la position de ta barre ??

Reply

Marsh Posté le 05-11-2003 à 21:22:24    

ben le plus facile c'est de prendre la meme image et de donner la largeur en html:
 
<img src="image" width="$pourcentage%">


---------------
lecteur mp3 yvele's smilies jeux de fille
Reply

Marsh Posté le 06-11-2003 à 06:53:18    

ben en fait la j'ai c'est l'abscisse que je specifie comme largeur.
Donc $pourcentage est ma largeur

Reply

Marsh Posté le 06-11-2003 à 06:55:12    

Hermes le Messager a écrit :


 
Ben tes barres, il faut les décaler l'une après l'autre non ? Où est l'incrémentation de la position de ta barre ??

ben chaque user a sa propre barre donc pas besoin d'incrementer la position :(  
 
pour montrer ce que la premiere donne : http://www.if-faw.com/ui2.php


Message édité par Profil supprimé le 06-11-2003 à 06:56:33
Reply

Marsh Posté le 06-11-2003 à 09:14:03    

fait toi un gif que tu appelle barre.gif et qui fait 1 pixekl de large.
Ensuite comme forummp3 te l'a dit, utilise l'attribut width de ton image avec ton $pourcentage en valeur

Reply

Marsh Posté le 06-11-2003 à 09:46:03    

Joel F a écrit :

fait toi un gif que tu appelle barre.gif et qui fait 1 pixekl de large.
Ensuite comme forummp3 te l'a dit, utilise l'attribut width de ton image avec ton $pourcentage en valeur


 
 :)  
 
Sinon, pour des jolies barres en 3D, on peut aussi faire 100 images différentes  :D qui s'appellent : 00, 01, 02 etc... jusqu'à 99

Reply

Marsh Posté le 06-11-2003 à 14:33:41    

merci bien je tente ca, mais pas les 99 image d'1px :D

Reply

Marsh Posté le 06-11-2003 à 16:03:53    

Reply

Sujets relatifs:

Leave a Replay

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