Créez des graphiques dynamiques à partir de MySQL

nejeh - 25 août 2018 à 22:36
jordane45 Messages postés 38150 Date d'inscription mercredi 22 octobre 2003 Statut Modérateur Dernière intervention 29 avril 2024 - 30 août 2018 à 09:32
Bonjour,
pour mon projet, j'ai crée un un ensemble de tickets (objets) et j'ai les enregistré dans ma base de données à partie d'un formulaire.
Un Ticket à attribut priorité : { urgent, moyenne, baisse }
Maintenant je veux créer un graphe a partir des valeurs enregistrées dans ma base de données et je ne sais pas comment faire pour récupérer les valeurs de ma base de données pour créer le graphe en temps réel
c'est à dire je veux afficher les rapports de Volumes (nombre de Tickets dont l'état est urgent, nombre de Tickets dont l'état est moyenne , nombre de Tickets dont l'état est baisse )

sachant que j'use le framework Symfony 3.4 .

merci

1 réponse

gigoballeto Messages postés 5 Date d'inscription mercredi 29 août 2018 Statut Membre Dernière intervention 29 août 2018
Modifié le 29 août 2018 à 19:55
1 - Créez la base de données
Dans cet exemple, nous représentons les ventes d'une société sur l'année. La table "ventes" comporte deux champs : "mois" et "ca" (chiffre d'affaires). Pour créer cette table, connectez-vous à MySQL au travers de PHPmyAdmin, créez une nouvelle base intitulée "ventes", puis une table du même nom.Ajoutez le champ "mois", en précisant comme type de données "varchar(10)", puis procédez de même pour créer le champ "ca" qui sera de type "integer(10)". Lorsque votre structure de base de données est créée, ajoutez les paramètres d'une année, soit manuellement, soit en exécutant une requête "Insert into". Elle devra avoir la forme : "INSERT IGNORE INTO ventes VALUES('Janvier','125000');".
2 - Récupérez les informations de la base
Lorsque votre base de données est créée, vous devez ensuite récupérer différentes informations utilisables pour les représentations graphiques. Créez un composant du nom de "donnees.php" et connectez-vous à la base à l'aide de l'instruction "mysql_connect()" en précisant le nom du serveur, le login et le mot de passe de l'administrateur. La connexion entre le serveur d'application et la base de données étant établie, sélectionnez la table sur laquelle vous allez travailler à l'aide de "mysql_select_db". Vous devez ensuite effectuer deux requêtes sur les informations.La première consiste à calculer le chiffre d'affaires total sur l'année ainsi que le meilleur mois de ventes. Vous pouvez effectuer ces deux calculs dans la même requête afin de simplifier le code et d'améliorer les performances. Appuyez-vous pour cela sur une requête du type "SELECT SUM(ca),MAX(ca) FROM ventes". Exécutez l'ordre à l'aide de l'instruction "mysql_query" puis conservez le résultat dans une variable temporaire que vous appellerez "$res" (pour résultat). Il ne vous reste plus qu'à affecter à la variable "$totalmax" le résultat de "SUM(ca)" et à la variable "$maxca", le résultat de "MAX(ca)".Pour faciliter les manipulations, vous allez stocker le reste des données (mois et chiffre d'affaires correspondant) dans un tableau. Commencez par sélectionner les informations dans la base, puis stockez-les dans une variable temporaire. Utilisez ensuite une boucle "While" pour entreposer dans chaque ligne du tableau les critères correspondant à un mois d'activité. Déclarez le tableau "$data" et affectez les mois à "$data[$i][0]" (la première colonne du tableau). Procédez de même pour les chiffres d'affaires que vous stockerez dans "$data[$i][1]" (la seconde colonne du tableau).
3 - Prévoyez la réutilisation du code
Avant d'écrire le code qui est chargé de représenter les informations, vous devez architecturer votre développement de façon à pouvoir le réutiliser dans plus d'une page. Les fonctions PHP ont été conçues pour cela. Il s'agit simplement d'encapsuler un bout de code PHP dans une sorte de container vers lequel on peut transmettre des variables. Celui-ci exécute ensuite ses instructions et renvoie un résultat.Cette approche facilite la maintenance du site et permet de factoriser le code tout en simplifiant les développements. Comme vous allez créer deux fonctions, nommez votre fichier "lib.graphi que.php" pour bien montrer qu'il s'agit d'un fichier qui stocke un ensemble de fonctions portant sur le même thème.
4 - Affichez les données sous forme de graphique
La première fonction va représenter les données dans un histogramme. Pour cela, elle a besoin d'un certain nombre de paramètres : $data (mois et chiffres d'affaires), $maxca (le CA du meilleur mois), $i (le nombre de mois), $cf (la couleur du fond du graphique) et $titre (le titre du graphique). Ces paramètres sont passés dans la ligne "function Graphique($data,$maxca,$i,$cf,$titre)". Définissez la couleur de fond du graphique à l'aide d'un tableau HTML et de la propriété "bgcolor". Insérez le titre du graphique entre le premier et le second tableau.Vous êtes maintenant prêt à créer les histogrammes. Ils sont construits dans une colonne HTML (). Chacune d'elles comporte trois informations : le chiffre d'affaires en K?, le mois et une image. Définissez la hauteur de l'image en pourcentage en calculant le rapport "ca/camax". Il ne vous reste plus qu'à inclure ce traitement dans une boucle pour traiter l'ensemble des mois. Pour que la fonction retourne un résultat, ajoutez la ligne "return ($graph);".
5 - Présentez les informations dans un tableau
La création du tableau suit la même logique. Une boucle aide à créer les 12 lignes du tableau en indiquant à chaque fois le mois ($data[$i][0]), le chiffre d'affaires ($data[$i][1]), le pourcentage que représente le chiffre d'affaires du mois par rapport au total de l'année. La boucle "While" parcourt le tableau ligne après ligne.Vous pouvez en profiter pour effectuer quelques traitements conditionnels au passage. Surlignez par exemple le meilleur mois en l'affichant en vert si le CA du mois est égal au plus gros mois de l'année : "if ($maxca==$data[$i][1])". Vous pouvez aussi ajouter une représentation graphique du rapport chiffre d'affaires du mois sur total de l'année. Ce n'est alors plus la hauteur, mais la largeur de l'image qui sera variable.
6 - Utilisez la librairie
Pour créer la page qui affichera les graphiques, il vous suffit d'inclure les différentes librairies (donnees.php et lib.graphique.php) et d'appeler les fonctions que vous souhaitez utiliser. C'est également dans ce script que vous devez préciser les paramètres de présentation tels que le titre du graphique et/ou du tableau et la couleur de fond.
Les outils utilisés
Apache 1.3.x
PHP 4.x
mySQL 3.2x
Un éditeur de texte de type Notepad.exe
Un navigateur

Pour en savoir +
phpinfo.net/phorum/
Le forum de la communauté ************ regorge de développeurs de tous niveaux. Tous se font un point d'honneur de s'entraider, et il est rare qu'une question ne trouve pas sa réponse au bout de quelques minutes. Lorsque vous bloquez sur un point précis, après avoir parcouru pendant des heures la documentation PHP, n'hésitez pas à vous y rendre pour trouver de l'aide.
-1
jordane45 Messages postés 38150 Date d'inscription mercredi 22 octobre 2003 Statut Modérateur Dernière intervention 29 avril 2024 344
29 août 2018 à 07:13
Php4... mdr.. vous êtes resté dans les années 90 ??

Tu as lu la question au moins ? Il code en utilisant Symfony
Je doute que ta réponse lui soit utile...
0
nejeh > jordane45 Messages postés 38150 Date d'inscription mercredi 22 octobre 2003 Statut Modérateur Dernière intervention 29 avril 2024
Modifié le 29 août 2018 à 14:21
Si vous avez une solution qui fonctionne avec symfony 3.4 merci de me répondre !
0
Rejoignez-nous