Bonjour,
j'exécute la requête SQL suivante:
Cette requête retourne un résultat du genre:
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7 /* A la séléction d'une date via le frontend, on extrait une image/photo (priorité, nombre(priorités), pourcentage) du parc TOTAL => evolutionParc */ function getParcSelonDate($dateMaj) { return mysql_query("SELECT priorite_finale AS priorite_finale, COUNT(priorite_finale) AS totalChaquePrio, COUNT(*) / (SELECT COUNT(*) FROM `final".$dateMaj."`) * 100 AS pourcentage FROM `final".$dateMaj."` GROUP BY priorite_finale");
Dan un PieChart je veux récupérer les valeurs de "pourcentage"
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6 INSERT INTO `final` (`priorite_finale`, `priorite_finale`, `pourcentage`) VALUES ('P1', 1581, '6.5188'), ('P1-2', 1341, '5.5292'), ('P2', 14818, '61.0976'), ('P3', 3971, '16.3732'), ('P4', 2542, '10.4812');
Voilà mon code MXML:
Et mon code Actionscript:
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44 <?xml version="1.0" encoding="utf-8"?> <mx:Canvas xmlns:mx="http://www.adobe.com/2006/mxml" showEffect="{IrisEffectId}" initialize="initialisation()" height="100%" width="100%"> <mx:RemoteObject id="ROService" showBusyCursor="true" source="classif_amfphp.traitement" destination="amfphp"> <mx:method name="getParcSelonDate" result="getParcSelonDateResult(event)"/> </mx:RemoteObject> <!-- On fait appel au fichier ActionScript contenant toutes les fonctions et les packages Actionscript utilisés --> <mx:Script source="../actionscript/amfphp/recapitulatif.as"/> <!-- Appel du fichier CSS pour les styles --> <mx:Style source="../css/styles.css"/> <mx:TitleWindow title="Historique des différentes actions menées" horizontalCenter="0" horizontalAlign="center" y="230" width="900" height="520" alpha="0.82"> <mx:PieChart id="piechart1" dataProvider="{getParcSelonDateAC}" showDataTips="true" > <mx:series> <mx:PieSeries displayName="Pourcentage" nameField="pourcentage" field="pourcentage" labelPosition="callout"/> </mx:series> </mx:PieChart> <mx:Legend dataProvider="{piechart1}"/> <mx:ComboBox id="datesMaj" dataProvider="{getDatesMajPonctAC}" prompt="Selectionnez une date" labelField="dateMaj" close="dateSelectionnee()" toolTip="Veuillez selectionner une date" themeColor="0xf37021"/> <mx:VBox > <mx:HBox> <mx:VBox horizontalAlign="center"> <mx:Label text="EvolutionParc" styleName="titre3"/> <mx:DataGrid dataProvider="{getParcSelonDateAC}" id="datagrid_parcSelonDate" verticalCenter="20" alternatingItemColors="[#ffffff, #00A5B9]" backgroundAlpha="0.6" height="156" width="229" left="148" themeColor="#F37021" selectionColor="0xf37021" rollOverColor="0xf37021"> <mx:columns> <!--dataField correspond au champ de la table qu'on souhaite afficher--> <mx:DataGridColumn headerText="Priorité" dataField="priorite_finale" width="100"/> <mx:DataGridColumn headerText="Total en région" dataField="totalChaquePrio" width="70"/> <mx:DataGridColumn headerText="Pourcentage" dataField="pourcentage" width="110"/> </mx:columns> </mx:DataGrid> </mx:VBox> </mx:HBox> </mx:VBox> </mx:TitleWindow> </mx:Canvas>
Mon code marche presque, j'ai bien un PieChart mais moi je veux qu'il m'affiche en légende "priorite_finale", dans mon cas ce serait:
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31 import mx.collections.ArrayCollection; import mx.rpc.events.ResultEvent; [Bindable] private var getDatesMajPonctAC: ArrayCollection; [Bindable] private var getParcSelonDateAC: ArrayCollection; private var dateMaj:String = null; private function getParcSelonDateResult(evt:ResultEvent):void { getParcSelonDateAC = ArrayCollection(evt.result); } private function getDatesMajPonctResult(evt:ResultEvent):void { getDatesMajPonctAC = ArrayCollection(evt.result); } private function initialisation():void { ROService.getDatesMajPonct(); } private function dateSelectionnee():void { dateMaj = datesMaj.selectedLabel.toString(); if(dateMaj != null) { ROService.getParcSelonDate(dateMaj); } }
P1 -> 6.5188
P1-2 -> 5.5292
P2 -> 61.0976
P3 -> 16.3732
P4 -> 10.4812
Ce qui n'est pas le cas!
P.S: Lorsque j'exporte le résultat de ma requête sous PhpMyAdmin je remarque que "priorite_finale" est répété pour les 2 premiers champs alors que ça devrait être "priorite_finale" et "totalChaquePrio".
Merci de votre aide.
Partager