Bonjour!
J'essaye de mettre en oeuvre ce qui fonctionnait avec JPgraph mais impossible de tirer quoique ce soit avec Open Flash Chart de l'extrait d'une base MySQL, d'autant que je trouve les tutoriels mal faits et incomplets (je me trompe peut être).
Néanmoins, voici mon code :
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 $host = "127.0.0.1"; /* L'adresse du serveur */ $login = "BaseSelect"; /* Votre nom d'utilisateur */ $password = "smaserverit"; /* Votre mot de passe */ $base = "eco_data"; /* Le nom de la base */ $DayXXXX=date("md"); $mydate=date("Y-m-d"); $name = "CSCATHERINE"; $ECOXXXX = mysql_pconnect($host, $login, $password) or trigger_error(mysql_error(),E_USER_ERROR); $requeteXXXX = 'SELECT `Power` as Power FROM `'.$base.'`.`'.$name.'` WHERE `Day`='.$DayXXXX.''; $resultXXXX = mysql_query($requeteXXXX, $ECOXXXX) or die('Error sur '.$requeteXXXX.'<br/>'.mysql_error()); $PowerXXXX = array(); while ($ligneXXXX = mysql_fetch_assoc($resultXXXX)) { $PowerXXXX[] = $ligneXXXX['Power'];} $data = $PowerXXXX; include 'php-ofc-library/open-flash-chart.php'; $title = new title( date("D M d Y") ); // ------- LINE 2 ----- $d = new solid_dot(); $d->size(3)->halo_size(1)->colour('#FFFFFF'); $line = new line(); $line->set_default_dot_style($d); $line->set_values( $data ); $line->set_width( 2 ); $line->set_colour( '#000000' ); $y = new y_axis(); $y->set_range( 0, 1000, 1 ); $chart = new open_flash_chart(); $chart->set_title( $title ); $chart->add_element( $line ); $chart->set_y_axis( $y ); echo $chart->toPrettyString();
et voici l'affichage de la page :
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2 { "elements": [ { "type": "line", "values": [ "58.128", "61.374", "64.102", "67.004", "69.71", "72.826", "75.671", "78.266", "81.337", "83.991", "86.997", "89.978", "92.569", "95.508", "97.912", "100.625", "103.205", "105.799", "108.071", "110.25", "112.825", "115.154", "117.641", "119.79", "122.249", "124.118", "126.33", "128.48", "130.694", "131.812", "134.671", "135.653", "137.423", "138.771", "141.068", "143.604", "145.854", "148.056", "149.449", "150.604", "151.4", "153.423", "152.819", "154.529", "156.061", "156.437", "158.323", "160.196", "160.796", "161.844", "163.162", "164.298", "176.668", "177.62", "178.462", "179.232", "179.553", "179.183", "179.86", "179.894", "179.695", "179.715", "180.304", "179.729", "179.555", "179.508", "179.282", "178.865", "177.583", "177.987", "177.927", "177.363", "177.515", "176.256", "175.117", "173.824", "173.511", "173.545", "172.688", "171.798", "170.484", "170.482", "168.921", "167.96", "142.115", "140.342", "138.998", "135.118", "133.742", "133.4", "134.388", "124.921", "104.069", "47.865", "43.977", "56.87", "53.492", "73.489" ], "dot-style": { "type": "solid-dot", "dot-size": 3, "halo-size": 1, "colour": "#FFFFFF" }, "width": 2, "colour": "#000000" } ], "title": { "text": "Wed Aug 15 2012" }, "y_axis": { "min": 0, "max": 1000, "steps": 1 } }
Un print_r simple sur seuleument le $PowerXXXX en sortie de requete MySQL nous donne :
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
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98 Array ( [0] => 58.128 [1] => 61.374 [2] => 64.102 [3] => 67.004 [4] => 69.71 [5] => 72.826 [6] => 75.671 [7] => 78.266 [8] => 81.337 [9] => 83.991 [10] => 86.997 [11] => 89.978 [12] => 92.569 [13] => 95.508 [14] => 97.912 [15] => 100.625 [16] => 103.205 [17] => 105.799 [18] => 108.071 [19] => 110.25 [20] => 112.825 [21] => 115.154 [22] => 117.641 [23] => 119.79 [24] => 122.249 [25] => 124.118 [26] => 126.33 [27] => 128.48 [28] => 130.694 [29] => 131.812 [30] => 134.671 [31] => 135.653 [32] => 137.423 [33] => 138.771 [34] => 141.068 [35] => 143.604 [36] => 145.854 [37] => 148.056 [38] => 149.449 [39] => 150.604 [40] => 151.4 [41] => 153.423 [42] => 152.819 [43] => 154.529 [44] => 156.061 [45] => 156.437 [46] => 158.323 [47] => 160.196 [48] => 160.796 [49] => 161.844 [50] => 163.162 [51] => 164.298 [52] => 176.668 [53] => 177.62 [54] => 178.462 [55] => 179.232 [56] => 179.553 [57] => 179.183 [58] => 179.86 [59] => 179.894 [60] => 179.695 [61] => 179.715 [62] => 180.304 [63] => 179.729 [64] => 179.555 [65] => 179.508 [66] => 179.282 [67] => 178.865 [68] => 177.583 [69] => 177.987 [70] => 177.927 [71] => 177.363 [72] => 177.515 [73] => 176.256 [74] => 175.117 [75] => 173.824 [76] => 173.511 [77] => 173.545 [78] => 172.688 [79] => 171.798 [80] => 170.484 [81] => 170.482 [82] => 168.921 [83] => 167.96 [84] => 142.115 [85] => 140.342 [86] => 138.998 [87] => 135.118 [88] => 133.742 [89] => 133.4 [90] => 134.388 [91] => 124.921 [92] => 104.069 [93] => 47.865 )
Cela affiche en permanence "-in,fin,ity" sur le graph :
Je sais que la requête fonctionne, le code aussi, le graph fonctionne avec un simple $data = array(1,4,6,2,9,8,35,5,7); mais je me demande si il prend en charge les nombres avec le point "47.865" et la forme du résultat de requête?
Grand merci pour votre aide et bonne journée!
Partager