Page 3 sur 3

Re: Mise en oeuvre d'une gauge

Posté : 03 nov. 2017, 09:06
par Météo Villarzel
Pascal ta donné la solution plus haut
A la ligne 62 du fichier gauges.js, tu doit indiquer le chemin relatif du fichier realtime.txt
Chez moi ça donne cela
realTimeURL_Cumulus: '../realtimegaugesMXTraduit.txt', //*** Cumulus Users: Change to your location of the realtime file ***

Re: Mise en oeuvre d'une gauge

Posté : 03 nov. 2017, 09:48
par estelle
Salut,

Si j'ai bien compris, il faut renseigner le fichier realtime.txt avec les données de la DBB
Par contre à chaque fois, on rajoute une nouvelle ligne ou bien on écrase celle existante ?
A+

Re: Mise en oeuvre d'une gauge

Posté : 03 nov. 2017, 13:10
par jturlier
Bonjour,
c'est un fichier à une seule ligne, donc tu écrases.
Jean

Re: Mise en oeuvre d'une gauge

Posté : 03 nov. 2017, 19:25
par Météo Villarzel
Estelle
je ne t'ai pas donné le bon exemple de fichier, il doit avoir ce format
http://www.boock.ch/meteo/gauges_SteelS ... gauges.txt

A+

Re: Mise en oeuvre d'une gauge

Posté : 07 nov. 2017, 09:35
par estelle
Merci pour tes réponses

Je vais rester avec Highcharts ....
J'ai réussi une intégration qui me satisfait
Par contre, je n'arrive pas à rafraîchir les valeurs des jauges
J'ai rajouté la fonction de rafraîchissement en insérant ma variable PHP et en relançant périodiquement la lecture de la BDD mais sans succès

Code : Tout sélectionner

function (chart) {
          if (!chart.renderer.forExport) {
            setInterval(function () {
              var point = chart.series[0].points[0],
                  newVal,               
              newVal = <?php echo $tm; ?>;         
              point.update(newVal);
            }, 3000);
          }

Code : Tout sélectionner

function getRaf() {    
        var xhr = new XMLHttpRequest();
        xhr.onreadystatechange = function() {                
            if (this.status == 200 && this.readyState == 4) {
                document.getElementById("gauges").innerHTML = this.responseText;                            
            }
        };
        xhr.open("GET", "Rafraich_gauges.php", true);
        xhr.send();
    }
    setInterval(function()
    {
        getRaf();
    }, 60000); 
Et dans "Rafraich_gauges.php", je rafraîchis mes variables issues de la BDD

Tu aurais une idée ?
Estelle

Re: Mise en oeuvre d'une gauge

Posté : 07 nov. 2017, 22:09
par Météo Villarzel
Je ne comprends pas ton code, pour mettre à jour tes jauges tu dois réinterroger le serveur, pourquoi ne pas simplement rafraîchir la page avec la balise meta refresh ?

Re: Mise en oeuvre d'une gauge

Posté : 08 nov. 2017, 07:40
par estelle
En fait l'idée n'est pas de recharger la page
C'est long et pas très esthétique ...
Dans l'exemple fourni avec les gauges il y a une fonction qui modifie la valeur aléatoirement à afficher
L'idée est de réutiliser cette fonction pour modifier la valeur à afficher sans recharger la page

Re: Mise en oeuvre d'une gauge

Posté : 08 nov. 2017, 10:07
par Météo Villarzel
oui c'est une fonction qui modifie aléatoirement la valeur en javascript, ce n'est pas ce que tu veux, si tu veux la dernière valeur qui est dans ta bdd, tu dois interroger la bdd sur le serveur, tu n'est pas obligée de mettre un refresh sur la page entière mais uniquement sur la jauge.
Ou recharger la valeur par un cron

Ce qui distingue PHP des langages de script comme le Javascript, est que le code est exécuté sur le serveur, générant ainsi le HTML, qui sera ensuite envoyé au client.