Ce code permet de créer un graphique avec les fonctions d'image dynamique de PHP. Ce code est en relation avec le code que j'ai poster il n'y a pas longtemp :
http://www.phpcs.com/code.aspx?ID=35889
Ce code montre juste comment créer une image dynamiquement. Je ne me suis pas hater sur les coordonnées car ce n'est que des maths. Juste spécifier que les coordonnée de ces fonctions sont : 0,0 en haut à gauche, les absissses horizontalement et les ordonnées verticalement.
Source / Exemple :
<?php
// cette ligne est importante,
//elle dira au navigateur que la page retourne une image png
header ("Content-type: image/png");
// connection à la base de donnée et soumet de la requete
$db = @mysql_connect('addr_serveur','login','password');
@mysql_select_db("compteur",$db);
$query = 'SELECT * FROM cpt_page WHERE 1 ORDER BY nbr ASC';
$req = @mysql_query($query);
// prend le premier élément de la requete
$data = @mysql_fetch_array($req);
// hauteur de l'image
$hauteur = 200;
// largeur de l'image, en fonction du nombre de lignes dans la table
$largeur = 50+100*mysql_num_rows($req);
// défini le maximum (rapport proprortionnelle pour l'affichage)
$maxi = $data[1] + 3;
// créer l'image
$im = imagecreate($largeur,$hauteur);
// définie les différentes couleurs (la première est la couleur de fond)
$bleute = ImageColorAllocate($im, 245, 245, 255);
$violet = ImageColorAllocate($im, 204, 51, 255);
$noir = ImageColorAllocate($im, 0, 0, 0);
// dessine l'axe des absisses
ImageLine($im,5,$hauteur-20,$largeur-5,$hauteur-20,$noir);
// et le cadres de l'image
ImageRectangle($im,0,0,$largeur-1,$hauteur-1,$noir);
// boucle qui affiche les batonnets
$i=0;
do
{
// affiche le nom de la page en dessous de l'axe des absisses
ImageString($im,3,$i*100 + 20,$hauteur-20,$data[0],$noir);
// affiche le nombre de visites au dessus des batonnets
ImageString($im,3,$i*100+50,185-($data[1]*200/$maxi),$data[1],$noir);
// affiche les batonnets
ImageFilledRectangle($im,$i*100+50,200-($data[1]*200/$maxi),$i*100+60,$hauteur-20,$violet);
$i++;
}while($data = @mysql_fetch_array($req) ); // prend l'élément suivant dans la requetes
// affiche l'image
ImagePng($im);
?>
Vous n'êtes pas encore membre ?
inscrivez-vous, c'est gratuit et ça prend moins d'une minute !
Les membres obtiennent plus de réponses que les utilisateurs anonymes.
Le fait d'être membre vous permet d'avoir un suivi détaillé de vos demandes et codes sources.
Le fait d'être membre vous permet d'avoir des options supplémentaires.