Refresh des variables

sixefyle

sixefyle Le 7 février 2017 à 21:39 (Édité le 25 janvier 2019 à 17:53)

Salut ! 
J'aimerais pouvoir refresh des variables sur mon site mais je ne sais pas comment faire et je ne sais même pas si c'est possible en PHP.

J'aimerais pouvoir refresh le nombre de viewers venant d'un stream sur twitch avec leur API qui est en JSON

Ce qui me donne ca en PHP 
$viewers = $stream->stream->viewers;
Mais je ne sais pas comment faire pour pouvoir le refresh toutes les 5minutes par exemple

Merci d'avance 😄
TheOldNoob

TheOldNoob Le 8 février 2017 à 22:00

Salut l'ami,
Tu peu faire ça avec un petit script js que je t'offre : 
  setInterval('load_message()', 300000); // 300k millieseconde qui font 5 minutes si mes calcules sont bons 😀 
        function load_message() {
            $('#viewers').load("refresh_viewers.php");
        }
refresh_viewers.php contiendra ton appel a ta bdd ainsi que ta requête puis ton html avec dedans ta variable php.

#viewers c'est une div vide que tu place sur ta page et qui recevra ce que va load ton script.

Mais attention avec cette astuce, car on peu en faire un chat qui se rafraîchie tout seul... Seul problème, si l'interval est trop court ça peu posé problème a votre serveur.

Pour bien comprendre, je vous donne un exemple chiffré :

Ici un refresh toute les 5 minutes.
Si il y a 1 seul utilisateur, ça fait 12 connexion a ta bdd par heure, soit 288 par jours. ça va.
Si tu a 10 utilisateurs, 120 par heure et 288 par jours. ça reste raisonnable.

Pour un chat, avec un refresh toute les 5s, ce qui reste long pour un chat...
Pour un seul utilisateur qui se parle a lui même : 12 connexion par minute, 720 par heure, 17280 par jours.
Pour 10 utilisateurs, je pense que tu a compris, tu multiplie par 10... bim ton hébergeur va pas être content si il est pas prévu pour un gros trafique.
sixefyle

sixefyle Le 10 février 2017 à 19:18

D'accord merci 😄 
sixefyle

sixefyle Le 10 février 2017 à 19:29

Re, il y a un petit probleme enfaite les données ne viennent pas d'une BDD mais d'un fichier JSON que j'ai de twitch (donc un lien) et j'ai tester avec ce script mais ca ne fonctionne pas, je me suis peut-être trompé en mettant le script je ne sais pas trop.

Le code la ou est appeler ma variable
<hr class="separator">
<div class="viewers col-6"><span class="text-color-1"><?= $viewers_format ?></span> Viewers</div>
<div class="follow col-6"><span class="text-color-1"><?= $follow_format ?></span> Followers</div> 
<hr class="separator">   
Et le fichier ou sont appelé toutes les informations du stream
   $stats = json_decode(file_get_contents("https://api.twitch.tv/kraken/channels/$stream_name?client_id=2m1arid5nwr8is13k2c32x1hg7a72l"));
   $titre = $stats->status;
   $follow = $stats->followers;
   $banner = $stats->profile_banner;
   $url = $stats->url;
   $name = $stats->display_name;
   $jeux = $stats->game;
   $stream = json_decode(file_get_contents("https://api.twitch.tv/kraken/streams/$stream_name?client_id=2m1arid5nwr8is13k2c32x1hg7a72l"));
   $live = $stream->stream;
   if($live != null)
   { 
      $viewers = $stream->stream->viewers; 
      $viewers_format = number_format($viewers, 0, ',', ' '); 
   }
    $follow_format = number_format($follow, 0, ',', ' ');
TheOldNoob

TheOldNoob Le 11 février 2017 à 10:09

ok, du coup tu veux récupérer et interpreté un json en php.

En php je sais pas le faire 😄
par contre en js je suis tout juste en train d'apprendre a la faire, donc je vais pas pouvoir t'aider.

Après un peu de recherche, j'ai trouver cette page qui a l'air de faire se dont tu a besoin :

https://www.numelion.com/utiliser-manipuler-fichier-json-php.html
sixefyle

sixefyle Le 11 février 2017 à 13:10

Non ce n'est pas ca le problème 😋
j'arrive à prendre des informations JSON en PHP mais je ne sais juste pas comment faire pour pouvoir refresh la variable $viewers 
TheOldNoob

TheOldNoob Le 11 février 2017 à 13:30

tu fait un fichier qui contient ton résultat avec du html et du css pour faire joulie.
Se fichier sera inclut dans ton html via le script que je t'es mis au dessus.

Et si ça fonctionne pas, c'est parce que je suis une nouille et que c'est un script jQuery. Donc tu doit appelé la librairie 😋


<script src="https://ajax.googleapis.com/ajax/libs/jquery/3.1.1/jquery.min.js"></script>
Vous devez être connecté pour poster une réponse. Se connecter ou Créer un compte