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:
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:
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:
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 :
http://6continents.fr/PHP/OpenFlashChart.jpg
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!