Bonjour,

J'ai un programme qui trace un graphe des 10 dernières valeurs d'une table MySQL avec highcharts. En utilisant le settimeout () j'ai réussi à mettre à jour le graphe automatiquement sauf que dans la mise à jour auto le select de la base de données ne change pas. C'est à dire que le graphe se recharge mais les valeurs restent les mêmes. Je veux faire en sorte que même les requêtes vers la BDD se réexécutent lorsque la fonction recommence pour tirer les nouvelles 10 derniers valeurs.

Voici le 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
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
99
100
101
102
103
104
105
106
107
108
109
<!DOCTYPE HTML>
 
<?php 
define('MYSQL_HOST', 'localhost');
define('MYSQL_USER', 'root');
define('MYSQL_PASS', '3135');
define('MYSQL_DATABASE', 'site');
?>
<html>
	<head>
 
		<meta http-equiv="Content-Type" content="text/html; charset=utf-8">
		<title>Highcharts Example</title>
		<script type="text/javascript" src="http://ajax.googleapis.com/ajax/libs/jquery/1.8.2/jquery.min.js"></script>		
 
		<style type="text/css">
			${demo.css}
		</style>
 
		<script type="text/javascript">
 
$(function a() {
<?php                   
$RFID=$_GET['RFID'];
 
$sql_tension = <<<EOF
(SELECT 
        tension AS TENSIONS, 
        N AS MESURE  
        FROM $RFID )ORDER BY N DESC LIMIT 10
EOF;
 
$mysqlCnx = @mysql_connect(MYSQL_HOST, MYSQL_USER, MYSQL_PASS) or die('Pb de connxion mysql');
 
@mysql_select_db(MYSQL_DATABASE) or die('Pb de sélection de la base');
 
$mysqlQuery = @mysql_query($sql_tension, $mysqlCnx) or die('Pb de requête');
 
while ($row_tension = mysql_fetch_array($mysqlQuery,  MYSQL_ASSOC)) {
$tableauTension[] = $row_tension['TENSIONS']; 
$tableauId[] = $row_tension['MESURE'];  
}
 
$InvTableauTension=array_reverse($tableauTension);
$InvTableauId=array_reverse($tableauId);                
?>	
 
    $('#container').highcharts({
 
		chart: {
			type: 'line'
        },
 
        title: {
            text: 'Evolution de la tension arterielle',
            x: -20 //center
        },
 
        xAxis: {
            categories: <?php echo json_encode($InvTableauId); ?>
        },
        yAxis: {
            title: {
                text: 'Tension ( mmHG )'
            },
            plotLines: [{
                value: 0,
                width: 1,
                color: '#808080'
            }]
        },
        tooltip: {
			valueDecimals: 2,
            valueSuffix: 'mmHG'
        },
        legend: {
            layout: 'vertical',
            align: 'right',
            verticalAlign: 'middle',
            borderWidth: 0
        },
        series: [{
            name: 'Tension Arterielle',
            data: <?php echo json_encode($InvTableauTension, JSON_NUMERIC_CHECK); ?>
        }]
    });
 
		/*Highcharts.setOptions({
			plotOptions: {
				series: {
					animation: false
					}
			}
		});*/
 
 
	setTimeout( a,500);
});
		</script>
	</head>	
 
	<body>
 
<script src="highcharts/js/highcharts.js"></script>
<script src="highcharts/js/modules/exporting.js"></script>
<div id="container" style="min-width: 310px; height: 400px; margin: 0 auto"></div>
 
	</body>
</html>
Remerciements.