TUTORIEL PHP 
Des diagrammes avec le couple PHP/Flash
L'application PHP/SWF Charts permet de créer rapidement et simplement des diagrammes de grande qualité. Première approche de ce script très bien conçu. (06/10/2004)
La création de diagramme décrivant le contenu d'une base avec PHP peut rapidement se révéler plus complexe que nécessaire. Parallèlement, passer par Flash permet au développeurs d'améliorer le rendu des graphiques mais pas toujours de simplifier la tâche.

C'est pour résoudre ce problème que les responsables du site maani.us ont conçu le combo PHP/SWF Charts (PSC), qui regroupe un fichier PHP et un fichier SWF capables de générer dynamiquement et rapidement des diagrammes, histogrammes, "camemberts" et autres. Nous allons voir ici comment s'en servir, de manière statique dans un premier temps.

Installation et premier diagramme

L'installation de PSC est des plus simples, tout comme sont utilisation. Rendez-vous sur la page de téléchargement de l'application, et sélectionnez une archive de la version optimisée ("Optimized Version"). Celle-ci ne diffère de la version complète que par sa limitation à la police Arial. Il en ressort un fichier SWF beaucoup plus léger. Rien ne vous empêche de télécharger la version complète, bien entendu... Décompressez dans le répertoire voulu les deux fichiers contenus dans l'archive.

Dans un nouveau fichier PHP, entrez les lignes suivantes (les fichiers charts.php et charts.swf doivent être au même niveau, ou bien il faut changer l'include) :

<?php
include "charts.php";
DrawChart();
?>

Ce simple appel vous affichera un diagramme par défaut (ainsi qu'une erreur PHP selon la version), permettant de faire une démonstration du produit, et de tester qu'il s'affiche correctement.

Il est temps de décider quoi afficher.

Remplir le diagramme
Nous allons commencer à remplir notre diagramme avec des données arbitraires et statiques : pas de SQL pour le moment. Nous allons utiliser les données fictives correspondant à ce tableau :

 
Jan. 04
Fév. 04
Mar. 04
Avr. 04
Mai 04
JDN
54202
15320
15622
49553
48453
JDNSolutions
32155
21542
12358
9520
15632
JDNDéveloppeurs
42
255
1337
65535
101010
JDManagement
45651
14154
15322
16553
18885

L'ensemble de notre travail se fera au travers du tableau multidimensionnel $chart[]. Pour le moment, un seul sous-tableau nous intéresse : chart_data, qui nous permet de remplir de manière intuitive notre grille.

$chart['chart_data'] = array
  (
  array ( "", "Jan. 04", "Fév. 04", "Mar. 04", "Avr. 04", "Mai 04" ),
  array ( "JDN", 54202, 15320, 15622, 49553, 48453 ),
  array ( "JDN Solutions", 32155, 21542, 12358, 9520, 15632 ),
  array ( "JDN Développeurs", 42, 255, 1337, 65535, 101010 ),
  array ( "JDNManagement", 45651, 14154, 15322, 16553, 18885 )
  );

Vous constaterez que l'on a pratiquement dupliqué le tableau en code PHP : même nombre de colonnes et lignes, mêmes positions... Modifiez maintenant votre code PHP pour prendre en compte votre tableau rempli :

DrawChart($chart);

Vous obtiendrez ceci :

Il est à partir de là facile d'adapter le tableau à ses besoins, grâce aux multiples options prévues par les développeurs. Par exemple, ajoutez ces lignes avant l'appel à drawChart($chart) :

$chart [ 'chart_type' ] = "line";
$chart [ 'chart_line' ] = array
  (
  'line_thickness' => 2
  );

Et vous obtiendrez ceci, pour les mêmes données que l'affichage ci-dessus :

  Forum

Réagissez dans les forums de JDN Développeurs

Grâce à la chaîne chart_type, vous pouvez déterminer quelle forme prendra votre graphique : barre verticale, lignes, camembert, empilement, colonnes 3D... Les différentes options vous permettent d'entièrement revoir la forme du graphique à votre convenance.

Nnous couplerons cette application à une base MySQL dans un prochain article, vous permettant ainsi d'exploiter à fond le potentiel de ce couplage PHP/Flash.

 
Xavier Borderie, JDN Développeurs
 
Accueil | Haut de page
 
 





Quand achetez-vous le plus en ligne ?
Du lundi au vendredi
Le samedi
Le dimanche

Tous les sondages