Bonjour,

J'ai un problème avec la génération de mes graphiques à partir d'une base de données. Mes données contiennent des dates et valeurs qui sont rattaché à une mesure qui sont rattaché à un indicateur.

L'indicateur possède 1 ou plusieurs mesures qui possède 1 ou plusieurs données.

Exemple de données dans la base :
Mesures :
Mesure 1
Mesure 2

Données rattachée à Mesure 1 :
01.07.2011 100
02.07.2011 200
03.07.2011 300
04.07.2011 400

Données rattachée à Mesure 2 :
03.07.2011 150
04.07.2011 300
05.07.2011 400
06.07.2011 600

Je voudrais avec ces données généré un graphique dynamiquement :

Le code ci-dessous fonctionne pas mal :

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
 
<?php 
require_once ('jpgraph/jpgraph.php');
require_once ('jpgraph/jpgraph_line.php');
 
$data = $connexion->query("SELECT v.date, v.valeur, m.nom as mesure FROM indicateur_mesure im JOIN mesure m ON im.idMesure = m.idMesure JOIN valeur v ON m.idMesure = v.idMesure WHERE idIndicateur = $id ORDER BY date")->fetchAll();
 
foreach ($data as $value) {
        $xy[$value['mesure']][$value['date']] = $value['valeur'];
        $y[] = $value['date'];
    }
 
$graph = new Graph(800,600);
$graph->SetScale("textlin");
 
$graph->yaxis->HideTicks(false,false);
$graph->xgrid->Show();
$graph->xgrid->SetLineStyle("solid");
$graph->xaxis->SetTickLabels($y);
$graph->xgrid->SetColor('#E3E3E3');
 
foreach ($xy as $key => $value) {
    $lplot = new LinePlot(array_values($xy[$key]));
    if(!$preview)
        $lplot->SetLegend($key);
    $graph->Add($lplot);
}
 
$graph->stroke();
 
?>
Le problème c'est que les dates correspondent pas, y aurait il un expert JPGRAPH dans le forum ?